nextcloud/apps/files_external/lib
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
..
AppInfo refactor(QueryException): Remove most usage of QueryException 2026-01-16 11:55:06 +01:00
BackgroundJob refactor(apps): Use constructor property promotion when possible 2024-10-21 12:37:59 +02:00
Command fix: show configuration options for external storage backends 2026-02-25 15:24:20 +01:00
Config feat(rector): Enable SafeDeclareStrictTypesRector 2026-02-09 10:59:31 +01:00
Controller feat(files_external): allow delegated admins to search applicable users/groups 2026-04-07 10:09:53 +02:00
Event feat: add typed events for external storage config changes 2026-01-09 17:53:49 +01:00
Lib feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
Listener feat(files_external): support lexicon 2025-05-05 17:05:45 -01:00
Migration refactor(psalm): Modernize migration doc 2026-02-12 11:25:55 +01:00
Service refactor(external-storage-services): Modernize code 2026-03-10 15:27:46 +01:00
Settings feat(files_external): convert to delegated settings 2026-04-07 10:09:53 +02:00
ConfigLexicon.php feat(lexicon): moving out from unstable 2025-07-24 15:56:33 -01:00
MountConfig.php refactor(QueryException): Remove most usage of QueryException 2026-01-16 11:55:06 +01:00
NotFoundException.php feat(rector): Enable SafeDeclareStrictTypesRector 2026-02-09 10:59:31 +01:00
ResponseDefinitions.php fix(OpenAPI): Adjust array syntax to avoid ambiguities 2024-11-05 09:58:11 +01:00