- java.lang.Object
-
- com.ibm.crypto.hdwrCCA.provider.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 Summary
Constructors Constructor Description DilithiumKeyParameterSpec(java.lang.String name)
Creates a parameter set.DilithiumKeyParameterSpec(java.lang.String name, byte type)
Creates a parameter set.DilithiumKeyParameterSpec(java.lang.String name, byte type, byte usage)
Creates a parameter set.DilithiumKeyParameterSpec(java.lang.String name, byte type, byte usage, java.lang.String label)
Creates a parameter set.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DilithiumKeyAttributes
getAttributes()
Returns the key pair attributes.java.lang.String
getLabelString()
Returns the key label that will be used to store the private key.java.lang.String
getName()
Returns the name
-
-
-
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 parameterstype
- 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 parameterstype
- 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 parameterstype
- 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 aKeyHWAttributeValues.PKDS
key, the label used to identify the key. If aKeyHWAttributeValues.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.
-
-