Class S3CryptoModule<T extends MultipartUploadContext>
java.lang.Object
com.amazonaws.services.s3.internal.crypto.S3CryptoModule<T>
- Direct Known Subclasses:
CryptoModuleDispatcher
,S3CryptoModuleBase
An internal SPI used to implement different cryptographic modules
for use with the S3 encryption client.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
abstract CompleteMultipartUploadResult
abstract CopyPartResult
abstract S3Object
abstract ObjectMetadata
getObjectSecurely
(GetObjectRequest req, File dest) abstract InitiateMultipartUploadResult
abstract PutObjectResult
abstract void
putLocalObjectSecurely
(UploadObjectRequest req, String uploadId, OutputStream os) abstract PutObjectResult
abstract UploadPartResult
-
Constructor Details
-
S3CryptoModule
public S3CryptoModule()
-
-
Method Details
-
putObjectSecurely
- Returns:
- the result of the putting the S3 object.
-
getObjectSecurely
-
getObjectSecurely
-
completeMultipartUploadSecurely
public abstract CompleteMultipartUploadResult completeMultipartUploadSecurely(CompleteMultipartUploadRequest req) -
initiateMultipartUploadSecurely
public abstract InitiateMultipartUploadResult initiateMultipartUploadSecurely(InitiateMultipartUploadRequest req) -
uploadPartSecurely
-
copyPartSecurely
-
abortMultipartUploadSecurely
-
putInstructionFileSecurely
- Returns:
- the result of putting the instruction file in S3; or null if the
specified S3 object doesn't exist. The S3 object can be
subsequently retrieved using the new instruction file via the
usual get operation by specifying a
EncryptedGetObjectRequest
. - Throws:
IllegalArgumentException
- if the specified S3 object doesn't exist.SecurityException
- if the protection level of the material in the new instruction file is lower than that of the original. Currently, this means if the original material has been secured via authenticated encryption, then the new instruction file cannot be created via an S3 encryption client configured withCryptoMode.EncryptionOnly
.
-
putLocalObjectSecurely
public abstract void putLocalObjectSecurely(UploadObjectRequest req, String uploadId, OutputStream os) throws IOException - Parameters:
uploadId
- multipart upload idos
- output stream which will be closed upon method completion.- Throws:
IOException
-