nextcloud/apps/files_external/lib/Lib/Storage
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
..
AmazonS3.php feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
FTP.php refactor: use logical && || instead of weak and or operators 2025-09-27 23:02:18 +02:00
FtpConnection.php style: update codestyle for coding-standard 1.2.3 2024-08-25 19:34:58 +02:00
OwnCloud.php chore: apply new CSFixer rules 2025-07-01 16:26:50 +02:00
SFTP.php fix: make psalm and rector happy 2026-03-31 12:35:09 +02:00
SFTPReadStream.php refactor: use logical && || instead of weak and or operators 2025-09-27 23:02:18 +02:00
SFTPWriteStream.php fix: manually set modified time to SFTP files after editing 2026-03-31 12:35:08 +02:00
SMB.php fix: make smb auth failure on forbidden exception more reliable 2026-01-12 15:23:57 +01:00
StreamWrapper.php chore: apply new CSFixer rules 2025-07-01 16:26:50 +02:00
Swift.php refactor: use logical && || instead of weak and or operators 2025-09-27 23:02:18 +02:00
SystemBridge.php fix: use nc's binary finding logic for smb 2024-10-04 15:56:31 +02:00