feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage #57623
+489
−17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
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
sse_kms_enabledandsse_kms_key_idImplementation Details
getServerSideEncryptionParameters()method to centralize encryption parameter logic for both SSE-C and SSE-KMSS3SSEKMSTest.php) for SSE-KMS scenariosConfiguration Example
Testing
Manual Testing
Validated both SSE-KMS and SSE-C encryption with comprehensive file upload/download tests:
SSE-KMS Testing:
SSE-C Backward Compatibility Testing:
PHPUnit Tests
Files Changed
🤖 Generated with Claude Code