Class KMSEncryptionMaterials

  • All Implemented Interfaces:
    Serializable

    public class KMSEncryptionMaterials
    extends EncryptionMaterials
    implements Serializable
    KMS specific encryption materials.

    The KEK has no relevance on the client-side, as KMS only requires the CMK id to be used to uniquely identify the KEK on the server side.

    See Also:
    Serialized Form
    • Field Detail

      • CUSTOMER_MASTER_KEY_ID

        public static final String CUSTOMER_MASTER_KEY_ID
        Name of the material description to be persisted in S3 for the KMS's customer master key id.
        See Also:
        Constant Field Values
    • Constructor Detail

      • KMSEncryptionMaterials

        public KMSEncryptionMaterials​(String defaultCustomerMasterKeyId)
        Parameters:
        defaultCustomerMasterKeyId - KMS's customer master key id; must not be null
    • Method Detail

      • getKeyPair

        public final KeyPair getKeyPair()
        Always throws UnsupportedOperationException.
        Overrides:
        getKeyPair in class EncryptionMaterials
        Returns:
        the key pair stored in this EncryptionMaterials object.
      • getSymmetricKey

        public final SecretKey getSymmetricKey()
        Always throws UnsupportedOperationException.
        Overrides:
        getSymmetricKey in class EncryptionMaterials
        Returns:
        the symmetric key stored in this EncryptionMaterials object.
      • isKMSEnabled

        public final boolean isKMSEnabled()
        Returns true if this is a KMS material description; false otherwise. Always returns true.
        Overrides:
        isKMSEnabled in class EncryptionMaterials
        Returns:
        true