nextcloud/lib/private/Files
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
..
AppData refactor: Apply comments 2026-02-06 13:50:46 +01:00
Cache feat: add permissions mask variant that only masks one directory 2026-04-09 16:19:10 +02:00
Config fix: PostgreSQL transaction aborts when caching user mounts 2026-03-09 10:02:40 +00:00
Conversion chore: apply new CSFixer rules 2025-07-01 16:26:50 +02:00
Lock refactor: Apply second batch of comments 2026-02-06 13:52:51 +01:00
Mount fix: avoid recomputing list of mounts by provider 2026-02-13 16:41:44 +01:00
Node fix: fix LazyUserFolder::getMountPoint 2026-04-15 16:07:33 +02:00
Notify refactor: Apply rector changes 2026-03-01 14:43:11 +00:00
ObjectStore feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage 2026-04-16 13:21:53 -04:00
Search feat(file-info): encapsulate logic to get last activity in getLastActivity function 2026-03-24 15:15:34 -03:00
SimpleFS refactor: Apply second batch of comments 2026-02-06 13:52:51 +01:00
Storage fix(Wrapper): Type $storage as IStorage 2026-04-14 16:09:12 +02:00
Stream fix(files): decrement quota by actual bytes written in stream_write 2025-10-13 18:26:48 -04:00
Template fix: only skip template initialization when both skeletondirectory and templatedirectory are empty 2026-03-08 00:12:56 +01:00
Type refactor: Run rector on lib/private 2026-02-06 13:50:18 +01:00
Utils fix(Scanner): Remove high level transaction during scans 2026-04-08 14:34:45 +02:00
FileInfo.php feat(file-info): encapsulate logic to get last activity in getLastActivity function 2026-03-24 15:15:34 -03:00
FilenameValidator.php refactor: Run rector on lib/private 2026-02-06 13:50:18 +01:00
Filesystem.php perf(file-cache): Add mimetype filter on getFolderContents 2026-02-12 00:36:18 +01:00
SetupManager.php fix: Remove static vars from core classes 2026-03-23 16:34:54 +01:00
SetupManagerFactory.php refactor(share): Remove some deprecated method usages 2026-03-10 11:39:57 +01:00
View.php Merge pull request #58854 from nextcloud/jtr/refactor-View-getLocalFile 2026-03-12 10:05:19 +01:00