mirror of
https://github.com/pgsty/minio.git
synced 2026-09-05 18:16:16 +03:00
docs: clarify layered SSE-C key authentication
Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
@@ -356,9 +356,9 @@ func rotateKey(ctx context.Context, oldKey []byte, newKeyID string, newKey []byt
|
||||
}
|
||||
|
||||
// checkSSECCopySourceKey authenticates the SSE-C copy source key against the
|
||||
// sealed object key held in metadata. GetObjectNInfo builds no decryptor for a
|
||||
// zero byte object, so a copy whose data path never decrypts anything has to
|
||||
// verify the source key explicitly. Mirrors the errors rotateKey reports.
|
||||
// sealed object key held in metadata. This keeps the diverted rotation safe on
|
||||
// its own and remains defense in depth when the read path also authenticates
|
||||
// zero-byte objects. Mirrors the errors rotateKey reports.
|
||||
func checkSSECCopySourceKey(h http.Header, metadata map[string]string, bucket, object string, newKey []byte) error {
|
||||
oldKey, err := ParseSSECopyCustomerRequest(h, metadata)
|
||||
if err != nil {
|
||||
|
||||
@@ -508,10 +508,9 @@ func testAPICopyObjectSSECKeyRotationNullVersionWithCompression(obj ObjectLayer,
|
||||
}
|
||||
}
|
||||
|
||||
// TestAPICopyObjectSSECKeyRotationNullVersionWrongKey pins the source key
|
||||
// authentication of the re-encrypting fallback. A zero byte source has no data
|
||||
// to decrypt, so the copy would otherwise reach the destination write without
|
||||
// ever proving the caller holds the current key.
|
||||
// TestAPICopyObjectSSECKeyRotationNullVersionWrongKey pins source-key
|
||||
// authentication in both the standalone rotation fix and the later zero-byte
|
||||
// read hardening.
|
||||
func TestAPICopyObjectSSECKeyRotationNullVersionWrongKey(t *testing.T) {
|
||||
defer DetectTestLeak(t)()
|
||||
ExecObjectLayerAPITest(ExecObjectLayerAPITestArgs{
|
||||
|
||||
Reference in New Issue
Block a user