Class DilithiumKeyParameterSpec

  • All Implemented Interfaces:
    java.security.spec.AlgorithmParameterSpec

    public class DilithiumKeyParameterSpec
    extends java.lang.Object
    implements java.security.spec.AlgorithmParameterSpec
    This class provides means for specifying the parameters for a CRYSTALS-Dilithium key pair to be generated via the DilithiumKeyPairGenerator class. These parameters are:

    type, which is either KeyHWAttrubuteValues.PKDS, KeyHWAttributeValues.MASTER, or KeyHWAttributeValues.CLEAR;

    usage must be KeyHWAttributeValues.SIGNATURE;

    name, the name or OID of the desired algorithm. Acceptable OIDs: "1.3.6.1.4.1.2.267.1.6.5" - CRYSTALS-Dilithium 6,5 Round 2 "1.3.6.1.4.1.2.267.7.6.5" - CRYSTALS-Dilithium 6,5 Round 3 "1.3.6.1.4.1.2.267.1.8.7" - CRYSTALS-Dilithium 8,7 Round 2 "1.3.6.1.4.1.2.267.7.8.7" - CRYSTALS-Dilithium 8,7 Round 3

    Acceptable names: "dilithium65r2" - CRYSTALS-Dilithium 6,5 Round 2 "dilithium65r3" - CRYSTALS-Dilithium 6,5 Round 3 "dilithium87r2" - CRYSTALS-Dilithium 8,7 Round 2 "dilithium87r3" - CRYSTALS-Dilithium 8,7 Round 3

    keylabel which is the label associated with the generated private key.

    This class is immutable.

    • Constructor Detail

      • DilithiumKeyParameterSpec

        public DilithiumKeyParameterSpec​(java.lang.String name)
                                  throws java.lang.IllegalArgumentException
        Creates a parameter set. The type is defaulted to KeyHWAttributeValues.MASTER. The usage is defaulted to KeyHWAttributeValues.SIGNATURE.
        Parameters:
        name - the standard name or OID of the algorithm parameters
        Throws:
        java.lang.IllegalArgumentException - for any parameter values outside the bounds for that parameter.
      • DilithiumKeyParameterSpec

        public DilithiumKeyParameterSpec​(java.lang.String name,
                                         byte type)
                                  throws java.lang.IllegalArgumentException
        Creates a parameter set. The usage is defaulted to KeyHWAttributeValues.SIGNATURE.
        Parameters:
        name - the standard name or OID of the algorithm parameters
        type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
        Throws:
        java.lang.IllegalArgumentException - for any parameter values outside the bounds for that parameter.
      • DilithiumKeyParameterSpec

        public DilithiumKeyParameterSpec​(java.lang.String name,
                                         byte type,
                                         byte usage)
                                  throws java.lang.IllegalArgumentException
        Creates a parameter set.
        Parameters:
        name - the standard name or OID of the algorithm parameters
        type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
        usage - the way that the key will be used, must be SIGNATURE (used for signing purposes only)
        Throws:
        java.lang.IllegalArgumentException - for any parameter values outside the bounds for that parameter.
      • DilithiumKeyParameterSpec

        public DilithiumKeyParameterSpec​(java.lang.String name,
                                         byte type,
                                         byte usage,
                                         java.lang.String label)
                                  throws java.lang.IllegalArgumentException
        Creates a parameter set.
        Parameters:
        name - the standard name or OID of the algorithm parameters
        type - the hardware key type determined from KeyHWAttributeValues PKDS (key storage), MASTER (encrypted under ICSF master key), or CLEAR.
        usage - the way that the key will be used, must be SIGNATURE (used for signing purposes only)
        label - if a KeyHWAttributeValues.PKDS key, the label used to identify the key. If a KeyHWAttributeValues.CLEAR key, label is ignored.
        Throws:
        java.lang.IllegalArgumentException - for any parameter values outside the bounds for that parameter.
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name
        Returns:
        the name
      • getAttributes

        public DilithiumKeyAttributes getAttributes()
        Returns the key pair attributes.
        Returns:
        the key pair attributes.
      • getLabelString

        public java.lang.String getLabelString()
        Returns the key label that will be used to store the private key.
        Returns:
        the key label. Returns null if no label is associated with this parameter spec.