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
 java.security.AlgorithmParameters decodeAlgorithmParameters(byte[] encoded)
          Decodes encoded cipher algorithm parameters
 byte[] decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
          Decrypt some bytes
 java.io.InputStream decrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.io.InputStream in)
          Decrypt an input stream
 java.lang.Object decryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
          Decrypt data as an object
 Pair encrypt(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
          Encrypt some bytes
 Pair encryptObject(java.lang.String keyAlias, java.security.AlgorithmParameters params, java.lang.Object input)
          Encrypt an object
 boolean 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 encrypt(java.lang.String keyAlias,
             java.security.AlgorithmParameters params,
             byte[] input)
Encrypt some bytes

Parameters:
keyAlias - the encryption key alias
input - 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 alias
input - 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 alias
in - the data to decrypt
Returns:
the unencrypted data

encryptObject

Pair encryptObject(java.lang.String keyAlias,
                   java.security.AlgorithmParameters params,
                   java.lang.Object input)
Encrypt an object

Parameters:
keyAlias - the encryption key alias
input - 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 alias
input - 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 alias
input - 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 a SealedObject.

Parameters:
keyAlias - the encryption key alias
input - 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 SealedObject
java.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)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.