Package org.alfresco.encryption
Interface Encryptor
-
- All Known Subinterfaces:
FallbackEncryptor
- All Known Implementing Classes:
AbstractEncryptor
,DefaultEncryptor
,DefaultFallbackEncryptor
public interface Encryptor
Interface providing methods to encrypt and decrypt data.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.security.AlgorithmParameters
decodeAlgorithmParameters(byte[] encoded)
Decodes encoded cipher algorithm parametersbyte[]
decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Decrypt some bytesjava.io.InputStream
decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.io.InputStream in)
Decrypt an input streamjava.lang.Object
decryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Decrypt data as an objectPair<byte[],java.security.AlgorithmParameters>
encrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Encrypt some bytesPair<byte[],java.security.AlgorithmParameters>
encryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.lang.Object input)
Encrypt an objectboolean
keyAvailable(java.lang.String keyAlias)
java.io.Serializable
sealObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.io.Serializable input)
Convenience method to seal on object up cryptographically.java.io.Serializable
unsealObject(java.lang.String keyAlias, java.io.Serializable input)
Convenience method to unseal on object sealed up cryptographically.
-
-
-
Method Detail
-
encrypt
Pair<byte[],java.security.AlgorithmParameters> encrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Encrypt some bytes- Parameters:
keyAlias
- the encryption key aliasinput
- the data to encrypt- Returns:
- the encrypted data and parameters used
-
decrypt
byte[] decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Decrypt some bytes- Parameters:
keyAlias
- the encryption key aliasinput
- the data to decrypt- Returns:
- the unencrypted data
-
decrypt
java.io.InputStream decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.io.InputStream in)
Decrypt an input stream- Parameters:
keyAlias
- the encryption key aliasin
- the data to decrypt- Returns:
- the unencrypted data
-
encryptObject
Pair<byte[],java.security.AlgorithmParameters> encryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.lang.Object input)
Encrypt an object- Parameters:
keyAlias
- the encryption key aliasinput
- the object to write to bytes- Returns:
- the encrypted data and parameters used
-
decryptObject
java.lang.Object decryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
Decrypt data as an object- Parameters:
keyAlias
- the encryption key aliasinput
- the data to decrypt- Returns:
- the unencrypted data deserialized
-
sealObject
java.io.Serializable sealObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.io.Serializable input)
Convenience method to seal on object up cryptographically. Note that the original object may be returned directly if there is no key associated with the alias.- Parameters:
keyAlias
- the encryption key aliasinput
- the object to encrypt and seal- Returns:
- the sealed object that can be decrypted with the original key
-
unsealObject
java.io.Serializable unsealObject(java.lang.String keyAlias, java.io.Serializable input) throws java.security.InvalidKeyException
Convenience method to unseal on object sealed up cryptographically. Note that the algorithm parameters not provided on the assumption that a symmetric key algorithm is in use - only the key is required for unsealing. Note that the original object may be returned directly if there is no key associated with the alias or if the input object is not aSealedObject
.- Parameters:
keyAlias
- the encryption key aliasinput
- the object to decrypt and unseal- Returns:
- the original unsealed object that was encrypted with the original key
- Throws:
java.lang.IllegalStateException
- if the key alias is not valid and the input is a SealedObjectjava.security.InvalidKeyException
-
decodeAlgorithmParameters
java.security.AlgorithmParameters decodeAlgorithmParameters(byte[] encoded)
Decodes encoded cipher algorithm parameters- Parameters:
encoded
- the encoded cipher algorithm parameters- Returns:
- the decoded cipher algorithmParameters
-
keyAvailable
boolean keyAvailable(java.lang.String keyAlias)
-
-