nextcloud/lib/private/Files/ObjectStore
Stephen Cuppett cdaeed02b6 feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage
Add support for Server-Side Encryption with AWS Key Management Service
(SSE-KMS) for S3 object storage. This allows Nextcloud to encrypt data
at rest in S3 using AWS-managed keys.

Key features:
- New config options: sse_kms_enabled and sse_kms_key_id
- Backward compatible with existing SSE-C (customer-provided keys)
- SSE-C takes precedence when both SSE-C and SSE-KMS are configured

Implementation details:
- Added getServerSideEncryptionParameters() method to centralize
  encryption parameter logic for both SSE-C and SSE-KMS
- Updated multipart uploads to use unified encryption parameters
- Added comprehensive PHPUnit tests for SSE-KMS scenarios
- Tested with AWS bucket and KMS keys in us-east-1 region

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Stephen Cuppett <steve@cuppett.com>
2026-04-16 13:21:53 -04:00
..
AppdataPreviewObjectStoreStorage.php refactor(Storage): Align all Storage constructors 2024-10-23 13:24:18 +02:00
Azure.php perf(s3): Expose pre-signed urls for S3 2025-12-09 11:21:35 +01:00
HomeObjectStoreStorage.php refactor(Storage): Align all Storage constructors 2024-10-23 13:24:18 +02:00
InvalidObjectStoreConfigurationException.php feat: allow object store configuration aliases for easier migrations 2025-08-14 13:06:51 +02:00
Mapper.php fix: make bucket mapper work with new multi-object-store config 2025-08-28 17:51:25 +02:00
ObjectStoreScanner.php refactor: Run rector on lib/private 2026-02-06 13:50:18 +01:00
ObjectStoreStorage.php fix: make objectstore copy consistent with changed local storage behavior 2026-03-10 16:07:38 +01:00
PrimaryObjectStoreConfig.php perf(preview): Optimize migration and simplify DB layout 2025-10-06 13:37:15 +02:00
S3.php feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
S3ConfigTrait.php feat(objectstore): add configurable S3 retry attempts 2025-11-19 16:17:43 +01:00
S3ConnectionTrait.php feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
S3ObjectTrait.php feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
S3Signature.php chore: apply new CSFixer rules 2025-07-01 16:26:50 +02:00
StorageObjectStore.php refactor: Apply second batch of comments 2026-02-06 13:52:51 +01:00
Swift.php refactor: Run rector on lib/private 2026-02-06 13:50:18 +01:00
SwiftFactory.php refactor: Apply second batch of comments 2026-02-06 13:52:51 +01:00
SwiftV2CachingAuthService.php chore: Add SPDX header 2024-05-24 13:11:22 +02:00