Enum Class KeyLifecycleCause

java.lang.Object
java.lang.Enum<KeyLifecycleCause>
co.ankatech.keymanagement.client.keymanagement.model.KeyLifecycleCause
All Implemented Interfaces:
Serializable, Comparable<KeyLifecycleCause>, Constable

public enum KeyLifecycleCause extends Enum<KeyLifecycleCause>
Why a key left its operative state. Recorded on suspension and on revocation, and read by the platform's lifecycle rule to decide whether historical DECRYPT, VERIFY and the REENCRYPT / RESIGN source legs remain available on that key. SECURITY_COMPROMISE stops them, and it alone also stops ENCRYPT, SIGN and the REENCRYPT / RESIGN target legs regardless of the lifecycle policy. The platform refuses every cryptographic operation with a key revoked or suspended for SECURITY_COMPROMISE, including DECRYPT and VERIFY. NIST SP 800-57 Pt 1 Rev 5 §7.5 forbids applying protection with a compromised key and permits processing already-protected information with a compromised symmetric key, or with the public key of a compromised key pair, only under highly controlled conditions; for symmetric decryption and signature verification the platform's refusal is therefore stricter than NIST. The other four do not stop historical decrypt/verify and do not narrow a write (the tenant's lifecycle policy still applies). The cause is required — there is no default.
  • Enum Constant Details

  • Method Details

    • values

      public static KeyLifecycleCause[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static KeyLifecycleCause valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getValue

      public String getValue()
    • toString

      public String toString()
      Overrides:
      toString in class Enum<KeyLifecycleCause>
    • fromValue

      public static KeyLifecycleCause fromValue(String value)
    • validateJsonElement

      public static void validateJsonElement(com.google.gson.JsonElement jsonElement) throws IOException
      Throws:
      IOException