Class S3CryptoModule<T extends MultipartUploadContext>
- java.lang.Object
-
- com.amazonaws.services.s3.internal.crypto.S3CryptoModule<T>
-
- Direct Known Subclasses:
CryptoModuleDispatcher,S3CryptoModuleBase
public abstract class S3CryptoModule<T extends MultipartUploadContext> extends Object
An internal SPI used to implement different cryptographic modules for use with the S3 encryption client.
-
-
Constructor Summary
Constructors Constructor Description S3CryptoModule()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract voidabortMultipartUploadSecurely(AbortMultipartUploadRequest req)abstract CompleteMultipartUploadResultcompleteMultipartUploadSecurely(CompleteMultipartUploadRequest req)abstract CopyPartResultcopyPartSecurely(CopyPartRequest req)abstract S3ObjectgetObjectSecurely(GetObjectRequest req)abstract ObjectMetadatagetObjectSecurely(GetObjectRequest req, File dest)abstract InitiateMultipartUploadResultinitiateMultipartUploadSecurely(InitiateMultipartUploadRequest req)abstract PutObjectResultputInstructionFileSecurely(PutInstructionFileRequest req)abstract voidputLocalObjectSecurely(UploadObjectRequest req, String uploadId, OutputStream os)abstract PutObjectResultputObjectSecurely(PutObjectRequest req)abstract UploadPartResultuploadPartSecurely(UploadPartRequest req)
-
-
-
Method Detail
-
putObjectSecurely
public abstract PutObjectResult putObjectSecurely(PutObjectRequest req)
- Returns:
- the result of the putting the S3 object.
-
getObjectSecurely
public abstract S3Object getObjectSecurely(GetObjectRequest req)
-
getObjectSecurely
public abstract ObjectMetadata getObjectSecurely(GetObjectRequest req, File dest)
-
completeMultipartUploadSecurely
public abstract CompleteMultipartUploadResult completeMultipartUploadSecurely(CompleteMultipartUploadRequest req)
-
initiateMultipartUploadSecurely
public abstract InitiateMultipartUploadResult initiateMultipartUploadSecurely(InitiateMultipartUploadRequest req)
-
uploadPartSecurely
public abstract UploadPartResult uploadPartSecurely(UploadPartRequest req)
-
copyPartSecurely
public abstract CopyPartResult copyPartSecurely(CopyPartRequest req)
-
abortMultipartUploadSecurely
public abstract void abortMultipartUploadSecurely(AbortMultipartUploadRequest req)
-
putInstructionFileSecurely
public abstract PutObjectResult putInstructionFileSecurely(PutInstructionFileRequest req)
- 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
-
-