java.lang.Object
software.amazon.awssdk.services.paymentcryptography.model.Key
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Key.Builder,Key>

@Generated("software.amazon.awssdk:codegen") public final class Key extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Key.Builder,Key>

Metadata about an Amazon Web Services Payment Cryptography key.

See Also:
  • Method Details

    • createTimestamp

      public final Instant createTimestamp()

      The date and time when the key was created.

      Returns:
      The date and time when the key was created.
    • deletePendingTimestamp

      public final Instant deletePendingTimestamp()

      The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when KeyState is DELETE_PENDING and the key is scheduled for deletion.

      Returns:
      The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when KeyState is DELETE_PENDING and the key is scheduled for deletion.
    • deleteTimestamp

      public final Instant deleteTimestamp()

      The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when when the KeyState is DELETE_COMPLETE and the Amazon Web Services Payment Cryptography key is deleted.

      Returns:
      The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when when the KeyState is DELETE_COMPLETE and the Amazon Web Services Payment Cryptography key is deleted.
    • enabled

      public final Boolean enabled()

      Specifies whether the key is enabled.

      Returns:
      Specifies whether the key is enabled.
    • exportable

      public final Boolean exportable()

      Specifies whether the key is exportable. This data is immutable after the key is created.

      Returns:
      Specifies whether the key is exportable. This data is immutable after the key is created.
    • keyArn

      public final String keyArn()

      The Amazon Resource Name (ARN) of the key.

      Returns:
      The Amazon Resource Name (ARN) of the key.
    • keyAttributes

      public final KeyAttributes keyAttributes()

      The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after the key is created.

      Returns:
      The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after the key is created.
    • keyCheckValue

      public final String keyCheckValue()

      The key check value (KCV) is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography calculates the KCV by using standard algorithms, typically by encrypting 8 or 16 bytes or "00" or "01" and then truncating the result to the first 3 bytes, or 6 hex digits, of the resulting cryptogram.

      Returns:
      The key check value (KCV) is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography calculates the KCV by using standard algorithms, typically by encrypting 8 or 16 bytes or "00" or "01" and then truncating the result to the first 3 bytes, or 6 hex digits, of the resulting cryptogram.
    • keyCheckValueAlgorithm

      public final KeyCheckValueAlgorithm keyCheckValueAlgorithm()

      The algorithm used for calculating key check value (KCV) for DES and AES keys. For a DES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '00', with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For an AES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '01', with the key to be checked and retaining the 3 highest order bytes of the encrypted result.

      If the service returns an enum value that is not available in the current SDK version, keyCheckValueAlgorithm will return KeyCheckValueAlgorithm.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyCheckValueAlgorithmAsString().

      Returns:
      The algorithm used for calculating key check value (KCV) for DES and AES keys. For a DES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '00', with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For an AES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '01', with the key to be checked and retaining the 3 highest order bytes of the encrypted result.
      See Also:
    • keyCheckValueAlgorithmAsString

      public final String keyCheckValueAlgorithmAsString()

      The algorithm used for calculating key check value (KCV) for DES and AES keys. For a DES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '00', with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For an AES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '01', with the key to be checked and retaining the 3 highest order bytes of the encrypted result.

      If the service returns an enum value that is not available in the current SDK version, keyCheckValueAlgorithm will return KeyCheckValueAlgorithm.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyCheckValueAlgorithmAsString().

      Returns:
      The algorithm used for calculating key check value (KCV) for DES and AES keys. For a DES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '00', with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For an AES key, Amazon Web Services Payment Cryptography computes the KCV by encrypting 8 bytes, each with value '01', with the key to be checked and retaining the 3 highest order bytes of the encrypted result.
      See Also:
    • keyOrigin

      public final KeyOrigin keyOrigin()

      The source of the key material. For keys created within Amazon Web Services Payment Cryptography, the value is AWS_PAYMENT_CRYPTOGRAPHY. For keys imported into Amazon Web Services Payment Cryptography, the value is EXTERNAL.

      If the service returns an enum value that is not available in the current SDK version, keyOrigin will return KeyOrigin.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyOriginAsString().

      Returns:
      The source of the key material. For keys created within Amazon Web Services Payment Cryptography, the value is AWS_PAYMENT_CRYPTOGRAPHY. For keys imported into Amazon Web Services Payment Cryptography, the value is EXTERNAL.
      See Also:
    • keyOriginAsString

      public final String keyOriginAsString()

      The source of the key material. For keys created within Amazon Web Services Payment Cryptography, the value is AWS_PAYMENT_CRYPTOGRAPHY. For keys imported into Amazon Web Services Payment Cryptography, the value is EXTERNAL.

      If the service returns an enum value that is not available in the current SDK version, keyOrigin will return KeyOrigin.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyOriginAsString().

      Returns:
      The source of the key material. For keys created within Amazon Web Services Payment Cryptography, the value is AWS_PAYMENT_CRYPTOGRAPHY. For keys imported into Amazon Web Services Payment Cryptography, the value is EXTERNAL.
      See Also:
    • keyState

      public final KeyState keyState()

      The state of key that is being created or deleted.

      If the service returns an enum value that is not available in the current SDK version, keyState will return KeyState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyStateAsString().

      Returns:
      The state of key that is being created or deleted.
      See Also:
    • keyStateAsString

      public final String keyStateAsString()

      The state of key that is being created or deleted.

      If the service returns an enum value that is not available in the current SDK version, keyState will return KeyState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from keyStateAsString().

      Returns:
      The state of key that is being created or deleted.
      See Also:
    • usageStartTimestamp

      public final Instant usageStartTimestamp()

      The date and time after which Amazon Web Services Payment Cryptography will start using the key material for cryptographic operations.

      Returns:
      The date and time after which Amazon Web Services Payment Cryptography will start using the key material for cryptographic operations.
    • usageStopTimestamp

      public final Instant usageStopTimestamp()

      The date and time after which Amazon Web Services Payment Cryptography will stop using the key material for cryptographic operations.

      Returns:
      The date and time after which Amazon Web Services Payment Cryptography will stop using the key material for cryptographic operations.
    • toBuilder

      public Key.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Key.Builder,Key>
      Returns:
      a builder for type T
    • builder

      public static Key.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Key.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.