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 voiddecodeParams()Parses algorithm parameters P, Q, and G.booleanequals(java.lang.Object obj)Compares this AlgorithmID to another.java.math.BigIntegergetG()Returns the DSS/DSA parameter "G"java.lang.StringgetName()Returns "DSA", indicating the Digital Signature Algorithm (DSA) as defined by the Digital Signature Standard (DSS), FIPS 186.java.math.BigIntegergetP()Returns the DSS/DSA parameter "P"java.math.BigIntegergetQ()Returns the DSS/DSA parameter "Q"inthashCode()protected java.lang.StringparamsToString()Provides a human-readable description of the algorithm parameters.java.lang.StringtoString()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.IOExceptionConstruct 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.IOExceptionConstructs 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:
getPin interfacejava.security.interfaces.DSAParams
-
getQ
public java.math.BigInteger getQ()
Returns the DSS/DSA parameter "Q"- Specified by:
getQin interfacejava.security.interfaces.DSAParams
-
getG
public java.math.BigInteger getG()
Returns the DSS/DSA parameter "G"- Specified by:
getGin 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:
getNamein classAlgorithmId
-
decodeParams
protected void decodeParams() throws java.io.IOExceptionParses algorithm parameters P, Q, and G. They're found in the "params" member, which never needs to be changed.- Overrides:
decodeParamsin classAlgorithmId- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
Description copied from class:AlgorithmIdReturns a string describing the algorithm and its parameters.- Overrides:
toStringin classAlgorithmId
-
paramsToString
protected java.lang.String paramsToString()
Description copied from class:AlgorithmIdProvides a human-readable description of the algorithm parameters. This may be redefined by subclasses which parse those parameters.- Overrides:
paramsToStringin classAlgorithmId
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAlgorithmId
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:AlgorithmIdCompares this AlgorithmID to another. If algorithm parameters are available, they are compared. Otherwise, just the object IDs for the algorithm are compared.- Overrides:
equalsin classAlgorithmId- Parameters:
obj- preferably an AlgorithmId, else an ObjectIdentifier
-
-