Enum PublicKeyDetails

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, java.io.Serializable, java.lang.Comparable<PublicKeyDetails>

    public enum PublicKeyDetails
    extends java.lang.Enum<PublicKeyDetails>
    implements com.google.protobuf.ProtocolMessageEnum
     Details of a specific public key, capturing the the key encoding method,
     and signature algorithm.
    
     PublicKeyDetails captures the public key/hash algorithm combinations
     recommended in the Sigstore ecosystem.
    
     This is modelled as a linear set as we want to provide a small number of
     opinionated options instead of allowing every possible permutation.
    
     Any changes to this enum MUST be reflected in the algorithm registry.
     See: docs/algorithm-registry.md
    
     To avoid the possibility of contradicting formats such as PKCS1 with
     ED25519 the valid permutations are listed as a linear set instead of a
     cartesian set (i.e one combined variable instead of two, one for encoding
     and one for the signature algorithm).
     
    Protobuf enum dev.sigstore.common.v1.PublicKeyDetails
    • Enum Constant Detail

      • PUBLIC_KEY_DETAILS_UNSPECIFIED

        public static final PublicKeyDetails PUBLIC_KEY_DETAILS_UNSPECIFIED
        PUBLIC_KEY_DETAILS_UNSPECIFIED = 0;
      • PKCS1_RSA_PKCS1V5

        @Deprecated
        public static final PublicKeyDetails PKCS1_RSA_PKCS1V5
        Deprecated.
         RSA
         
        PKCS1_RSA_PKCS1V5 = 1 [deprecated = true];
      • PKCS1_RSA_PSS

        @Deprecated
        public static final PublicKeyDetails PKCS1_RSA_PSS
        Deprecated.
         See RFC8017
         
        PKCS1_RSA_PSS = 2 [deprecated = true];
      • PKIX_RSA_PKCS1V5

        @Deprecated
        public static final PublicKeyDetails PKIX_RSA_PKCS1V5
        Deprecated.
        PKIX_RSA_PKCS1V5 = 3 [deprecated = true];
      • PKIX_RSA_PSS

        @Deprecated
        public static final PublicKeyDetails PKIX_RSA_PSS
        Deprecated.
        PKIX_RSA_PSS = 4 [deprecated = true];
      • PKIX_RSA_PKCS1V15_2048_SHA256

        public static final PublicKeyDetails PKIX_RSA_PKCS1V15_2048_SHA256
         RSA public key in PKIX format, PKCS#1v1.5 signature
         
        PKIX_RSA_PKCS1V15_2048_SHA256 = 9;
      • PKIX_RSA_PKCS1V15_3072_SHA256

        public static final PublicKeyDetails PKIX_RSA_PKCS1V15_3072_SHA256
        PKIX_RSA_PKCS1V15_3072_SHA256 = 10;
      • PKIX_RSA_PKCS1V15_4096_SHA256

        public static final PublicKeyDetails PKIX_RSA_PKCS1V15_4096_SHA256
        PKIX_RSA_PKCS1V15_4096_SHA256 = 11;
      • PKIX_RSA_PSS_2048_SHA256

        public static final PublicKeyDetails PKIX_RSA_PSS_2048_SHA256
         RSA public key in PKIX format, RSASSA-PSS signature
         
        PKIX_RSA_PSS_2048_SHA256 = 16;
      • PKIX_RSA_PSS_3072_SHA256

        public static final PublicKeyDetails PKIX_RSA_PSS_3072_SHA256
        PKIX_RSA_PSS_3072_SHA256 = 17;
      • PKIX_RSA_PSS_4096_SHA256

        public static final PublicKeyDetails PKIX_RSA_PSS_4096_SHA256
        PKIX_RSA_PSS_4096_SHA256 = 18;
      • PKIX_ECDSA_P256_HMAC_SHA_256

        @Deprecated
        public static final PublicKeyDetails PKIX_ECDSA_P256_HMAC_SHA_256
        Deprecated.
         ECDSA
         
        PKIX_ECDSA_P256_HMAC_SHA_256 = 6 [deprecated = true];
      • PKIX_ECDSA_P256_SHA_256

        public static final PublicKeyDetails PKIX_ECDSA_P256_SHA_256
         See NIST FIPS 186-4
         
        PKIX_ECDSA_P256_SHA_256 = 5;
      • PKIX_ECDSA_P384_SHA_384

        public static final PublicKeyDetails PKIX_ECDSA_P384_SHA_384
        PKIX_ECDSA_P384_SHA_384 = 12;
      • PKIX_ECDSA_P521_SHA_512

        public static final PublicKeyDetails PKIX_ECDSA_P521_SHA_512
        PKIX_ECDSA_P521_SHA_512 = 13;
      • PKIX_ED25519

        public static final PublicKeyDetails PKIX_ED25519
         Ed 25519
         
        PKIX_ED25519 = 7;
      • PKIX_ED25519_PH

        public static final PublicKeyDetails PKIX_ED25519_PH
        PKIX_ED25519_PH = 8;
      • LMS_SHA256

        public static final PublicKeyDetails LMS_SHA256
         LMS and LM-OTS
        
         These keys and signatures may be used by private Sigstore
         deployments, but are not currently supported by the public
         good instance.
        
         USER WARNING: LMS and LM-OTS are both stateful signature schemes.
         Using them correctly requires discretion and careful consideration
         to ensure that individual secret keys are not used more than once.
         In addition, LM-OTS is a single-use scheme, meaning that it
         MUST NOT be used for more than one signature per LM-OTS key.
         If you cannot maintain these invariants, you MUST NOT use these
         schemes.
         
        LMS_SHA256 = 14;
      • LMOTS_SHA256

        public static final PublicKeyDetails LMOTS_SHA256
        LMOTS_SHA256 = 15;
    • Field Detail

      • PUBLIC_KEY_DETAILS_UNSPECIFIED_VALUE

        public static final int PUBLIC_KEY_DETAILS_UNSPECIFIED_VALUE
        PUBLIC_KEY_DETAILS_UNSPECIFIED = 0;
        See Also:
        Constant Field Values
      • PKCS1_RSA_PKCS1V5_VALUE

        @Deprecated
        public static final int PKCS1_RSA_PKCS1V5_VALUE
        Deprecated.
         RSA
         
        PKCS1_RSA_PKCS1V5 = 1 [deprecated = true];
        See Also:
        Constant Field Values
      • PKCS1_RSA_PSS_VALUE

        @Deprecated
        public static final int PKCS1_RSA_PSS_VALUE
        Deprecated.
         See RFC8017
         
        PKCS1_RSA_PSS = 2 [deprecated = true];
        See Also:
        Constant Field Values
      • PKIX_RSA_PKCS1V5_VALUE

        @Deprecated
        public static final int PKIX_RSA_PKCS1V5_VALUE
        Deprecated.
        PKIX_RSA_PKCS1V5 = 3 [deprecated = true];
        See Also:
        Constant Field Values
      • PKIX_RSA_PSS_VALUE

        @Deprecated
        public static final int PKIX_RSA_PSS_VALUE
        Deprecated.
        PKIX_RSA_PSS = 4 [deprecated = true];
        See Also:
        Constant Field Values
      • PKIX_RSA_PKCS1V15_2048_SHA256_VALUE

        public static final int PKIX_RSA_PKCS1V15_2048_SHA256_VALUE
         RSA public key in PKIX format, PKCS#1v1.5 signature
         
        PKIX_RSA_PKCS1V15_2048_SHA256 = 9;
        See Also:
        Constant Field Values
      • PKIX_RSA_PKCS1V15_3072_SHA256_VALUE

        public static final int PKIX_RSA_PKCS1V15_3072_SHA256_VALUE
        PKIX_RSA_PKCS1V15_3072_SHA256 = 10;
        See Also:
        Constant Field Values
      • PKIX_RSA_PKCS1V15_4096_SHA256_VALUE

        public static final int PKIX_RSA_PKCS1V15_4096_SHA256_VALUE
        PKIX_RSA_PKCS1V15_4096_SHA256 = 11;
        See Also:
        Constant Field Values
      • PKIX_RSA_PSS_2048_SHA256_VALUE

        public static final int PKIX_RSA_PSS_2048_SHA256_VALUE
         RSA public key in PKIX format, RSASSA-PSS signature
         
        PKIX_RSA_PSS_2048_SHA256 = 16;
        See Also:
        Constant Field Values
      • PKIX_RSA_PSS_3072_SHA256_VALUE

        public static final int PKIX_RSA_PSS_3072_SHA256_VALUE
        PKIX_RSA_PSS_3072_SHA256 = 17;
        See Also:
        Constant Field Values
      • PKIX_RSA_PSS_4096_SHA256_VALUE

        public static final int PKIX_RSA_PSS_4096_SHA256_VALUE
        PKIX_RSA_PSS_4096_SHA256 = 18;
        See Also:
        Constant Field Values
      • PKIX_ECDSA_P256_HMAC_SHA_256_VALUE

        @Deprecated
        public static final int PKIX_ECDSA_P256_HMAC_SHA_256_VALUE
        Deprecated.
         ECDSA
         
        PKIX_ECDSA_P256_HMAC_SHA_256 = 6 [deprecated = true];
        See Also:
        Constant Field Values
      • PKIX_ECDSA_P256_SHA_256_VALUE

        public static final int PKIX_ECDSA_P256_SHA_256_VALUE
         See NIST FIPS 186-4
         
        PKIX_ECDSA_P256_SHA_256 = 5;
        See Also:
        Constant Field Values
      • PKIX_ECDSA_P384_SHA_384_VALUE

        public static final int PKIX_ECDSA_P384_SHA_384_VALUE
        PKIX_ECDSA_P384_SHA_384 = 12;
        See Also:
        Constant Field Values
      • PKIX_ECDSA_P521_SHA_512_VALUE

        public static final int PKIX_ECDSA_P521_SHA_512_VALUE
        PKIX_ECDSA_P521_SHA_512 = 13;
        See Also:
        Constant Field Values
      • PKIX_ED25519_VALUE

        public static final int PKIX_ED25519_VALUE
         Ed 25519
         
        PKIX_ED25519 = 7;
        See Also:
        Constant Field Values
      • PKIX_ED25519_PH_VALUE

        public static final int PKIX_ED25519_PH_VALUE
        PKIX_ED25519_PH = 8;
        See Also:
        Constant Field Values
      • LMS_SHA256_VALUE

        public static final int LMS_SHA256_VALUE
         LMS and LM-OTS
        
         These keys and signatures may be used by private Sigstore
         deployments, but are not currently supported by the public
         good instance.
        
         USER WARNING: LMS and LM-OTS are both stateful signature schemes.
         Using them correctly requires discretion and careful consideration
         to ensure that individual secret keys are not used more than once.
         In addition, LM-OTS is a single-use scheme, meaning that it
         MUST NOT be used for more than one signature per LM-OTS key.
         If you cannot maintain these invariants, you MUST NOT use these
         schemes.
         
        LMS_SHA256 = 14;
        See Also:
        Constant Field Values
      • LMOTS_SHA256_VALUE

        public static final int LMOTS_SHA256_VALUE
        LMOTS_SHA256 = 15;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static PublicKeyDetails[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (PublicKeyDetails c : PublicKeyDetails.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static PublicKeyDetails valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static PublicKeyDetails valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • forNumber

        public static PublicKeyDetails forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<PublicKeyDetails> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static PublicKeyDetails valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null