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 void
abortMultipartUploadSecurely(AbortMultipartUploadRequest req)
abstract CompleteMultipartUploadResult
completeMultipartUploadSecurely(CompleteMultipartUploadRequest req)
abstract CopyPartResult
copyPartSecurely(CopyPartRequest req)
abstract S3Object
getObjectSecurely(GetObjectRequest req)
abstract ObjectMetadata
getObjectSecurely(GetObjectRequest req, File dest)
abstract InitiateMultipartUploadResult
initiateMultipartUploadSecurely(InitiateMultipartUploadRequest req)
abstract PutObjectResult
putInstructionFileSecurely(PutInstructionFileRequest req)
abstract void
putLocalObjectSecurely(UploadObjectRequest req, String uploadId, OutputStream os)
abstract PutObjectResult
putObjectSecurely(PutObjectRequest req)
abstract UploadPartResult
uploadPartSecurely(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
-
-