Class AlgIdDSA
- java.lang.Object
-
- org.mozilla.jss.netscape.security.x509.AlgorithmId
-
- org.mozilla.jss.netscape.security.x509.AlgIdDSA
-
- All Implemented Interfaces:
java.io.Serializable
,java.security.interfaces.DSAParams
,DerEncoder
public final class AlgIdDSA extends AlgorithmId implements java.security.interfaces.DSAParams
This class identifies DSS/DSA Algorithm variants, which are distinguished by using different algorithm parameters P, Q, G. It uses the NIST/IETF standard DER encoding. These are used to implement the Digital Signature Standard (DSS), FIPS 186.NOTE: At this time, DSS/DSA Algorithm IDs must always include these parameters. Use of DSS/DSA in modes where parameters are either implicit (e.g. a default applicable to a site or a larger scope), or are derived from some Certificate Authority's DSS certificate, is not currently supported.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.mozilla.jss.netscape.security.x509.AlgorithmId
ALL_SIGNING_ALGORITHMS, ANSIX962_EC_Public_Key_oid, ANSIX962_SHA1_With_EC_oid, DH_oid, DH_PKIX_oid, DSA_oid, DSA_OIW_oid, DSA_SIGNING_ALGORITHMS, EC_SIGNING_ALGORITHMS, MD2_oid, md2WithRSAEncryption_oid, MD5_oid, md5WithRSAEncryption_oid, params, paramsString, RSA_oid, RSA_SIGNING_ALGORITHMS, RSAEncryption_oid, SHA_oid, sha1WithDSA_oid, sha1WithDSA_OIW_oid, sha1WithEC_oid, sha1WithRSAEncryption_oid, sha1WithRSAEncryption_OIW_oid, sha224WithEC_oid, SHA256_oid, sha256WithEC_oid, sha256WithRSAEncryption_oid, SHA384_oid, sha384WithEC_oid, sha384WithRSAEncryption_oid, SHA512_oid, sha512WithEC_oid, sha512WithRSAEncryption_oid, shaWithDSA_OIW_oid
-
-
Constructor Summary
Constructors Constructor Description AlgIdDSA(byte[] encodedAlg)
Construct an AlgIdDSA from an X.509 encoded byte array.AlgIdDSA(byte[] p, byte[] q, byte[] g)
Constructs a DSS/DSA Algorithm ID from unsigned integers that define the algorithm parameters.AlgIdDSA(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g)
Constructs a DSS/DSA Algorithm ID from numeric parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
decodeParams()
Parses algorithm parameters P, Q, and G.boolean
equals(java.lang.Object obj)
Compares this AlgorithmID to another.java.math.BigInteger
getG()
Returns the DSS/DSA parameter "G"java.lang.String
getName()
Returns "DSA", indicating the Digital Signature Algorithm (DSA) as defined by the Digital Signature Standard (DSS), FIPS 186.java.math.BigInteger
getP()
Returns the DSS/DSA parameter "P"java.math.BigInteger
getQ()
Returns the DSS/DSA parameter "Q"int
hashCode()
protected java.lang.String
paramsToString()
Provides a human-readable description of the algorithm parameters.java.lang.String
toString()
Returns a string describing the algorithm and its parameters.-
Methods inherited from class org.mozilla.jss.netscape.security.x509.AlgorithmId
derEncode, encode, encode, equals, equals, get, getEncodedParams, getOID, getParameters, getParametersString, getSigningAlgorithms, parse, parse, setParametersString
-
-
-
-
Constructor Detail
-
AlgIdDSA
public AlgIdDSA(byte[] encodedAlg) throws java.io.IOException
Construct an AlgIdDSA from an X.509 encoded byte array.- Throws:
java.io.IOException
-
AlgIdDSA
public AlgIdDSA(byte[] p, byte[] q, byte[] g) throws java.io.IOException
Constructs a DSS/DSA Algorithm ID from unsigned integers that define the algorithm parameters. Those integers are encoded as big-endian byte arrays.- Parameters:
p
- the DSS/DSA paramter "P"q
- the DSS/DSA paramter "Q"g
- the DSS/DSA paramter "G"- Throws:
java.io.IOException
-
AlgIdDSA
public AlgIdDSA(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g)
Constructs a DSS/DSA Algorithm ID from numeric parameters.- Parameters:
p
- the DSS/DSA paramter "P"q
- the DSS/DSA paramter "Q"g
- the DSS/DSA paramter "G"
-
-
Method Detail
-
getP
public java.math.BigInteger getP()
Returns the DSS/DSA parameter "P"- Specified by:
getP
in interfacejava.security.interfaces.DSAParams
-
getQ
public java.math.BigInteger getQ()
Returns the DSS/DSA parameter "Q"- Specified by:
getQ
in interfacejava.security.interfaces.DSAParams
-
getG
public java.math.BigInteger getG()
Returns the DSS/DSA parameter "G"- Specified by:
getG
in interfacejava.security.interfaces.DSAParams
-
getName
public java.lang.String getName()
Returns "DSA", indicating the Digital Signature Algorithm (DSA) as defined by the Digital Signature Standard (DSS), FIPS 186.- Overrides:
getName
in classAlgorithmId
-
decodeParams
protected void decodeParams() throws java.io.IOException
Parses algorithm parameters P, Q, and G. They're found in the "params" member, which never needs to be changed.- Overrides:
decodeParams
in classAlgorithmId
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
Description copied from class:AlgorithmId
Returns a string describing the algorithm and its parameters.- Overrides:
toString
in classAlgorithmId
-
paramsToString
protected java.lang.String paramsToString()
Description copied from class:AlgorithmId
Provides a human-readable description of the algorithm parameters. This may be redefined by subclasses which parse those parameters.- Overrides:
paramsToString
in classAlgorithmId
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAlgorithmId
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:AlgorithmId
Compares this AlgorithmID to another. If algorithm parameters are available, they are compared. Otherwise, just the object IDs for the algorithm are compared.- Overrides:
equals
in classAlgorithmId
- Parameters:
obj
- preferably an AlgorithmId, else an ObjectIdentifier
-
-