Interface Encryptor

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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<byte[],​java.security.AlgorithmParameters> encrypt​(java.lang.String keyAlias, java.security.AlgorithmParameters params, byte[] input)
      Encrypt some bytes
      Pair<byte[],​java.security.AlgorithmParameters> 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<byte[],​java.security.AlgorithmParameters> 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<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 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)