mirror of
https://github.com/minio/minio.git
synced 2025-02-09 04:38:09 -05:00
Validate user provided SSE-C key on Head Object API (#6600)
Fixes #6598
This commit is contained in:
parent
baec331e84
commit
b8bd8d6a03
@ -552,6 +552,11 @@ func (api objectAPIHandlers) HeadObjectHandler(w http.ResponseWriter, r *http.Re
|
|||||||
case crypto.S3.IsEncrypted(objInfo.UserDefined):
|
case crypto.S3.IsEncrypted(objInfo.UserDefined):
|
||||||
w.Header().Set(crypto.SSEHeader, crypto.SSEAlgorithmAES256)
|
w.Header().Set(crypto.SSEHeader, crypto.SSEAlgorithmAES256)
|
||||||
case crypto.SSEC.IsEncrypted(objInfo.UserDefined):
|
case crypto.SSEC.IsEncrypted(objInfo.UserDefined):
|
||||||
|
// Validate the SSE-C Key set in the header.
|
||||||
|
if _, err = crypto.SSEC.UnsealObjectKey(r.Header, objInfo.UserDefined, bucket, object); err != nil {
|
||||||
|
writeErrorResponseHeadersOnly(w, toAPIErrorCode(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
w.Header().Set(crypto.SSECAlgorithm, r.Header.Get(crypto.SSECAlgorithm))
|
w.Header().Set(crypto.SSECAlgorithm, r.Header.Get(crypto.SSECAlgorithm))
|
||||||
w.Header().Set(crypto.SSECKeyMD5, r.Header.Get(crypto.SSECKeyMD5))
|
w.Header().Set(crypto.SSECKeyMD5, r.Header.Get(crypto.SSECKeyMD5))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user