public abstract class S3CryptoModuleBase<T extends MultipartUploadContext> extends S3CryptoModule<T>
| Modifier and Type | Field and Description |
|---|---|
protected com.amazonaws.services.s3.internal.crypto.ContentCryptoScheme |
contentCryptoScheme |
protected CryptoConfiguration |
cryptoConfig |
protected com.amazonaws.services.s3.internal.crypto.S3CryptoScheme |
cryptoScheme |
protected static int |
DEFAULT_BUFFER_SIZE |
protected EncryptionMaterialsProvider |
kekMaterialsProvider |
protected org.apache.commons.logging.Log |
log |
protected java.util.Map<java.lang.String,T> |
multipartUploadContexts
Map of data about in progress encrypted multipart uploads.
|
protected S3Direct |
s3 |
| Modifier | Constructor and Description |
|---|---|
protected |
S3CryptoModuleBase(S3Direct s3,
AWSCredentialsProvider credentialsProvider,
EncryptionMaterialsProvider kekMaterialsProvider,
ClientConfiguration clientConfig,
CryptoConfiguration cryptoConfig,
com.amazonaws.services.s3.internal.crypto.S3CryptoScheme cryptoScheme) |
| Modifier and Type | Method and Description |
|---|---|
void |
abortMultipartUploadSecurely(AbortMultipartUploadRequest req) |
protected abstract long |
ciphertextLength(long plaintextLength)
Returns the length of the ciphertext computed from the length of the
plaintext.
|
protected com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial |
createContentCryptoMaterial(AmazonWebServiceRequest req) |
protected PutObjectRequest |
createInstructionPutRequest(java.lang.String bucketName,
java.lang.String key,
com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial) |
protected javax.crypto.SecretKey |
generateCEK(EncryptionMaterials kekMaterials,
java.security.Provider providerIn) |
com.amazonaws.services.s3.internal.crypto.S3CryptoScheme |
getS3CryptoScheme() |
protected long |
plaintextLength(PutObjectRequest request,
ObjectMetadata metadata)
Returns the plaintext length from the request and metadata; or -1 if
unknown.
|
protected com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.SecuredCEK |
secureCEK(javax.crypto.SecretKey toBeEncrypted,
EncryptionMaterials materials,
java.security.Provider cryptoProvider) |
protected PutObjectRequest |
upateInstructionPutRequest(PutObjectRequest request,
com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial)
Updates put request to store the specified instruction object in S3.
|
protected ObjectMetadata |
updateMetadataWithContentCryptoMaterial(ObjectMetadata metadata,
java.io.File file,
com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial instruction) |
protected PutObjectRequest |
wrapWithCipher(PutObjectRequest request,
com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial)
Returns a request that has the content as input stream wrapped with a
cipher, and configured with some meta data and user metadata.
|
completeMultipartUploadSecurely, copyPartSecurely, getObjectSecurely, getObjectSecurely, initiateMultipartUploadSecurely, putObjectSecurely, uploadPartSecurelyprotected static final int DEFAULT_BUFFER_SIZE
protected final EncryptionMaterialsProvider kekMaterialsProvider
protected final CryptoConfiguration cryptoConfig
protected final org.apache.commons.logging.Log log
protected final com.amazonaws.services.s3.internal.crypto.S3CryptoScheme cryptoScheme
protected final com.amazonaws.services.s3.internal.crypto.ContentCryptoScheme contentCryptoScheme
protected final java.util.Map<java.lang.String,T extends MultipartUploadContext> multipartUploadContexts
protected final S3Direct s3
protected S3CryptoModuleBase(S3Direct s3, AWSCredentialsProvider credentialsProvider, EncryptionMaterialsProvider kekMaterialsProvider, ClientConfiguration clientConfig, CryptoConfiguration cryptoConfig, com.amazonaws.services.s3.internal.crypto.S3CryptoScheme cryptoScheme)
protected abstract long ciphertextLength(long plaintextLength)
plaintextLength - a non-negative numberpublic final void abortMultipartUploadSecurely(AbortMultipartUploadRequest req)
abortMultipartUploadSecurely in class S3CryptoModule<T extends MultipartUploadContext>protected final ObjectMetadata updateMetadataWithContentCryptoMaterial(ObjectMetadata metadata, java.io.File file, com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial instruction)
protected final com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial createContentCryptoMaterial(AmazonWebServiceRequest req)
protected final javax.crypto.SecretKey generateCEK(EncryptionMaterials kekMaterials, java.security.Provider providerIn)
protected final com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.SecuredCEK secureCEK(javax.crypto.SecretKey toBeEncrypted,
EncryptionMaterials materials,
java.security.Provider cryptoProvider)
protected final PutObjectRequest wrapWithCipher(PutObjectRequest request, com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial)
protected final long plaintextLength(PutObjectRequest request, ObjectMetadata metadata)
public final com.amazonaws.services.s3.internal.crypto.S3CryptoScheme getS3CryptoScheme()
protected final PutObjectRequest upateInstructionPutRequest(PutObjectRequest request, com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial)
request - The put request for the original object to be stored in S3.cekMaterial - The instruction object to be stored in S3.protected final PutObjectRequest createInstructionPutRequest(java.lang.String bucketName, java.lang.String key, com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial cekMaterial)