diff --git a/checkov/cloudformation/checks/resource/aws/S3Encryption.py b/checkov/cloudformation/checks/resource/aws/S3Encryption.py
index 511a8f760..f9562a8f0 100644
--- a/checkov/cloudformation/checks/resource/aws/S3Encryption.py
+++ b/checkov/cloudformation/checks/resource/aws/S3Encryption.py
@@ -11,8 +11,11 @@ class S3Encryption(BaseResourceCheck):
         super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)
 
     def scan_resource_conf(self, conf):
-        if conf.get('Properties') and conf['Properties'].get('ServerSideEncryptionRule'):
-            return CheckResult.PASSED
+        if conf.get('Properties'):
+            if conf['Properties'].get('ServerSideEncryptionRule') or \
+                (conf['Properties'].get('BucketEncryption') and
+                 len(conf['Properties']['BucketEncryption'].get('ServerSideEncryptionConfiguration', [])) > 0):
+                return CheckResult.PASSED
         return CheckResult.FAILED
 
 

CloudFormation: S3 default encryption check should look for ServerSideEncryptionByDefault
The CloudFormation check for CKV_AWS_19 only looks for `ServerSideEncryptionRule`, not `ServerSideEncryptionByDefault`:

https://github.com/bridgecrewio/checkov/blob/864d12ad0dfc6ca898dbacf7dc16fdc20f702733/checkov/cloudformation/checks/resource/aws/S3Encryption.py

The syntax used in the S3 template does not appear to be used anywhere else in GitHub:

https://github.com/bridgecrewio/checkov/blob/864d12ad0dfc6ca898dbacf7dc16fdc20f702733/tests/cloudformation/checks/resource/aws/S3Templates/ExampleS3.yaml#L13 

All of the working CloudFormation templates which I've seen look like this:

https://github.com/cloudconformity/documentation-api/blob/cba56c057d42c19db606f7d72ca197ee52d97848/examples/cloudformation-snippets/S3Bucket.yml#L8-L11

Checkov version: 1.0.312
diff --git a/tests/cloudformation/checks/resource/aws/S3Templates/ExampleS3.yaml b/tests/cloudformation/checks/resource/aws/S3Templates/ExampleS3.yaml
index 9ee8427c5..850bc2bf8 100644
--- a/tests/cloudformation/checks/resource/aws/S3Templates/ExampleS3.yaml
+++ b/tests/cloudformation/checks/resource/aws/S3Templates/ExampleS3.yaml
@@ -6,6 +6,10 @@ Resources:
     Type: AWS::S3::Bucket
     Properties:
       AccessControl: PublicRead
+      BucketEncryption:
+        ServerSideEncryptionConfiguration:
+          - ServerSideEncryptionByDefault:
+              SSEAlgorithm: AES256
   S3Bucket:
     Type: AWS::S3::Bucket
     Properties:
@@ -26,7 +30,7 @@ Resources:
         Status: Enabled
       ServerSideEncryptionRule:
         ServerSideEncryptionByDefault:
-          SSEAlgorithm: AWS256
+          SSEAlgorithm: AES256
       LoggingConfiguration:
         DestinationBucketName: String
         LogFilePrefix: String
diff --git a/tests/cloudformation/checks/resource/aws/test_S3Encryption.py b/tests/cloudformation/checks/resource/aws/test_S3Encryption.py
index 013c905e7..f8f1caf56 100644
--- a/tests/cloudformation/checks/resource/aws/test_S3Encryption.py
+++ b/tests/cloudformation/checks/resource/aws/test_S3Encryption.py
@@ -16,8 +16,8 @@ class TestS3Versioning(unittest.TestCase):
         report = runner.run(root_folder=test_files_dir, runner_filter=RunnerFilter(checks=[check.id]))
         summary = report.get_summary()
 
-        self.assertEqual(summary['passed'], 2)
-        self.assertEqual(summary['failed'], 3)
+        self.assertEqual(summary['passed'], 3)
+        self.assertEqual(summary['failed'], 2)
         self.assertEqual(summary['skipped'], 0)
         self.assertEqual(summary['parsing_errors'], 0)
 

pip install -e .
parse_log_pytest
pytest
pytest
apt-get update apt-get install -y git
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///croot/attrs_1668696182826/work
boto3==1.12.43
botocore==1.15.49
certifi @ file:///croot/certifi_1671487769961/work/certifi
chardet==3.0.4
-e git+https://github.com/bridgecrewio/checkov.git@439d03c1a8e6186077d9d363a945fc5fde2b6057#egg=checkov
colorama==0.4.3
docopt==0.6.2
docutils==0.15.2
dpath==1.5.0
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
idna==2.8
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
jmespath==0.10.0
junit-xml==1.8
lark-parser==0.7.8
packaging @ file:///croot/packaging_1671697413597/work
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pytest==7.1.2
python-dateutil==2.9.0.post0
python-hcl2==0.2.5
PyYAML==5.2
requests==2.22.0
s3transfer==0.3.7
six==1.13.0
tabulate==0.8.6
termcolor==1.1.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
urllib3==1.25.7
zipp @ file:///croot/zipp_1672387121353/work

name: checkov
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - boto3==1.12.43
      - botocore==1.15.49
      - chardet==3.0.4
      - colorama==0.4.3
      - docopt==0.6.2
      - docutils==0.15.2
      - dpath==1.5.0
      - idna==2.8
      - jmespath==0.10.0
      - junit-xml==1.8
      - lark-parser==0.7.8
      - python-dateutil==2.9.0.post0
      - python-hcl2==0.2.5
      - pyyaml==5.2
      - requests==2.22.0
      - s3transfer==0.3.7
      - six==1.13.0
      - tabulate==0.8.6
      - termcolor==1.1.0
      - urllib3==1.25.7
prefix: /opt/conda/envs/checkov

tests/cloudformation/checks/resource/aws/test_S3Encryption.py::TestS3Versioning::test_summary
checkov/cloudformation/checks/resource/aws/S3Encryption.py
checkov/cloudformation/checks/resource/aws/S3Encryption.py