Package com.github.ambry.cloud
Interface CloudBlobCryptoAgent
-
- All Known Implementing Classes:
CloudBlobCryptoAgentImpl
public interface CloudBlobCryptoAgent
Crypto Service to assist in encrypting and decrypting blob chunks transferred between Ambry and the cloud backup.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.nio.ByteBuffer
decrypt(java.nio.ByteBuffer buffer)
Decrypts the blob buffer being downloaded from cloud storage.java.nio.ByteBuffer
encrypt(java.nio.ByteBuffer buffer)
Encrypts the blob buffer being uploaded to cloud storage.java.lang.String
getEncryptionContext()
Returns the encryption context (if any)
-
-
-
Method Detail
-
encrypt
java.nio.ByteBuffer encrypt(java.nio.ByteBuffer buffer) throws java.security.GeneralSecurityException
Encrypts the blob buffer being uploaded to cloud storage.- Parameters:
buffer
- TheByteBuffer
that needs to be encrypted.- Returns:
- The encrypted buffer.
- Throws:
java.security.GeneralSecurityException
-
decrypt
java.nio.ByteBuffer decrypt(java.nio.ByteBuffer buffer) throws java.security.GeneralSecurityException
Decrypts the blob buffer being downloaded from cloud storage.- Parameters:
buffer
- TheByteBuffer
that needs to be decrypted.- Returns:
- The decrypted buffer.
- Throws:
java.security.GeneralSecurityException
-
getEncryptionContext
java.lang.String getEncryptionContext()
Returns the encryption context (if any)- Returns:
-
-