All Packages Class Hierarchy This Package Previous Next Index
Class netscape.security.x509.AlgorithmId
netscape.security.x509.AlgorithmId
- public class AlgorithmId
- implements DerEncoder
This class identifies algorithms, such as cryptographic transforms, each
of which may be associated with parameters. Instances of this base class
are used when this runtime environment has no special knowledge of the
algorithm type, and may also be used in other cases. Equivalence is
defined according to OID and (where relevant) parameters.
Subclasses may be used, for example when when the algorithm ID has
associated parameters which some code (e.g. code using public keys) needs
to have parsed. Two examples of such algorithms are Diffie-Hellman key
exchange, and the Digital Signature Standard Algorithm (DSS/DSA).
The OID constants defined in this class correspond to some widely
used algorithms, for which conventional string names have been defined.
This class is not a general repository for OIDs, or for such string names.
Note that the mappings between algorithm IDs and algorithm names is
not one-to-one.
-
ALL_SIGNING_ALGORITHMS
-
All supported signing algorithms.
-
DH_oid
- Algorithm ID for Diffie Hellman Key agreement, from PKCS #3.
-
DH_PKIX_oid
- Algorithm ID for the Diffie Hellman Key Agreement (DH), from the
IETF PKIX IPKI Part I.
-
DSA_oid
- Algorithm ID for the Digital Signing Algorithm (DSA), from the
IETF PKIX IPKI Part I.
-
DSA_OIW_oid
- Algorithm ID for the Digital Signing Algorithm (DSA), from the
NIST OIW Stable Agreements part 12.
-
DSA_SIGNING_ALGORITHMS
-
Supported signing algorithms for a DSA key.
-
MD2_oid
- Algorithm ID for the MD2 Message Digest Algorthm, from RFC 1319.
-
md2WithRSAEncryption_oid
- Identifies a signing algorithm where an MD2 digest is encrypted
using an RSA private key; defined in PKCS #1.
-
MD5_oid
- Algorithm ID for the MD5 Message Digest Algorthm, from RFC 1321.
-
md5WithRSAEncryption_oid
- Identifies a signing algorithm where an MD5 digest is
encrypted using an RSA private key; defined in PKCS #1.
-
params
- Parameters for this algorithm.
-
RSA_oid
- Algorithm ID for RSA keys used for any purpose, as defined in X.509.
-
RSA_SIGNING_ALGORITHMS
-
Supported signing algorithms for a RSA key.
-
RSAEncryption_oid
- Algorithm ID for RSA keys used with RSA encryption, as defined
in PKCS #1.
-
sha1WithDSA_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA1 digest is signed using the Digital Signing Algorithm (DSA).
-
sha1WithDSA_OIW_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA1 digest is signed using the Digital Signing Algorithm (DSA).
-
sha1WithRSAEncryption_oid
- The proper one for sha1/rsa
-
sha1WithRSAEncryption_OIW_oid
- Identifies a signing algorithm where an SHA1 digest is
encrypted using an RSA private key; defined in NIST OIW.
-
SHA_oid
- Algorithm ID for the SHA1 Message Digest Algorithm, from FIPS 180-1.
-
shaWithDSA_OIW_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA digest is signed using the Digital Signing Algorithm (DSA).
-
AlgorithmId()
- Constructs an algorithm ID which will be initialized
separately, for example by deserialization.
Deprecated.
-
AlgorithmId(ObjectIdentifier)
- Constructs a parameterless algorithm ID.
-
decodeParams()
-
-
derEncode(OutputStream)
- DER encode this object onto an output stream.
-
encode()
- Returns the DER-encoded X.509 AlgorithmId as a byte array.
-
encode(DerOutputStream)
- Marshal a DER-encoded "AlgorithmID" sequence on the DER stream.
-
equals(AlgorithmId)
- Returns true iff the argument indicates the same algorithm
with the same parameters.
-
equals(Object)
- Compares this AlgorithmID to another.
-
equals(ObjectIdentifier)
- Compares two algorithm IDs for equality.
-
get(String)
- Returns one of the algorithm IDs most commonly associated
with this algorithm name.
-
getAlgorithmId(String)
- Returns one of the algorithm IDs most commonly associated
with this algorithm name.
Deprecated.
-
getEncodedParams()
- Returns the DER encoded parameter, which can then be
used to initialize java.security.AlgorithmParamters.
-
getName()
- Returns a name for the algorithm which may be more intelligible
to humans than the algorithm's OID, but which won't necessarily
be comprehensible on other systems.
-
getOID()
- Returns the ISO OID for this algorithm.
-
getParameters()
-
-
getSigningAlgorithms(AlgorithmId)
- Returns list of signing algorithms for a key algorithm such as
RSA or DSA.
-
paramsToString()
- Provides a human-readable description of the algorithm parameters.
-
parse(DerValue)
- Parse (unmarshal) an ID from a DER sequence input value.
-
toString()
- Returns a string describing the algorithm and its parameters.
params
protected DerValue params
- Parameters for this algorithm. These are stored in unparsed
DER-encoded form; subclasses can be made to automaticaly parse
them so there is fast access to these parameters.
MD2_oid
public static final ObjectIdentifier MD2_oid
- Algorithm ID for the MD2 Message Digest Algorthm, from RFC 1319.
OID = 1.2.840.113549.2.2
MD5_oid
public static final ObjectIdentifier MD5_oid
- Algorithm ID for the MD5 Message Digest Algorthm, from RFC 1321.
OID = 1.2.840.113549.2.5
SHA_oid
public static final ObjectIdentifier SHA_oid
- Algorithm ID for the SHA1 Message Digest Algorithm, from FIPS 180-1.
This is sometimes called "SHA", though that is often confusing since
many people refer to FIPS 180 (which has an error) as defining SHA.
OID = 1.3.14.3.2.26
DH_oid
public static final ObjectIdentifier DH_oid
- Algorithm ID for Diffie Hellman Key agreement, from PKCS #3.
Parameters include public values P and G, and may optionally specify
the length of the private key X. Alternatively, algorithm parameters
may be derived from another source such as a Certificate Authority's
certificate.
OID = 1.2.840.113549.1.3.1
DH_PKIX_oid
public static final ObjectIdentifier DH_PKIX_oid
- Algorithm ID for the Diffie Hellman Key Agreement (DH), from the
IETF PKIX IPKI Part I.
Parameters may include public values P and G.
OID = 1.2.840.10046.2.1
DSA_OIW_oid
public static final ObjectIdentifier DSA_OIW_oid
- Algorithm ID for the Digital Signing Algorithm (DSA), from the
NIST OIW Stable Agreements part 12.
Parameters may include public values P, Q, and G; or these may be
derived from
another source such as a Certificate Authority's certificate.
OID = 1.3.14.3.2.12
DSA_oid
public static final ObjectIdentifier DSA_oid
- Algorithm ID for the Digital Signing Algorithm (DSA), from the
IETF PKIX IPKI Part I.
Parameters may include public values P, Q, and G; or these may be
derived from
another source such as a Certificate Authority's certificate.
OID = 1.2.840.10040.4.1
RSA_oid
public static final ObjectIdentifier RSA_oid
- Algorithm ID for RSA keys used for any purpose, as defined in X.509.
The algorithm parameter is a single value, the number of bits in the
public modulus.
OID = 1.2.5.8.1.1
RSAEncryption_oid
public static final ObjectIdentifier RSAEncryption_oid
- Algorithm ID for RSA keys used with RSA encryption, as defined
in PKCS #1. There are no parameters associated with this algorithm.
OID = 1.2.840.113549.1.1.1
md2WithRSAEncryption_oid
public static final ObjectIdentifier md2WithRSAEncryption_oid
- Identifies a signing algorithm where an MD2 digest is encrypted
using an RSA private key; defined in PKCS #1. Use of this
signing algorithm is discouraged due to MD2 vulnerabilities.
OID = 1.2.840.113549.1.1.2
md5WithRSAEncryption_oid
public static final ObjectIdentifier md5WithRSAEncryption_oid
- Identifies a signing algorithm where an MD5 digest is
encrypted using an RSA private key; defined in PKCS #1.
OID = 1.2.840.113549.1.1.4
sha1WithRSAEncryption_oid
public static final ObjectIdentifier sha1WithRSAEncryption_oid
- The proper one for sha1/rsa
sha1WithRSAEncryption_OIW_oid
public static final ObjectIdentifier sha1WithRSAEncryption_OIW_oid
- Identifies a signing algorithm where an SHA1 digest is
encrypted using an RSA private key; defined in NIST OIW.
OID = 1.3.14.3.2.29
shaWithDSA_OIW_oid
public static final ObjectIdentifier shaWithDSA_OIW_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA digest is signed using the Digital Signing Algorithm (DSA).
This should not be used.
OID = 1.3.14.3.2.13
sha1WithDSA_OIW_oid
public static final ObjectIdentifier sha1WithDSA_OIW_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA1 digest is signed using the Digital Signing Algorithm (DSA).
OID = 1.3.14.3.2.27
sha1WithDSA_oid
public static final ObjectIdentifier sha1WithDSA_oid
- Identifies the FIPS 186 "Digital Signature Standard" (DSS), where a
SHA1 digest is signed using the Digital Signing Algorithm (DSA).
OID = 1.2.840.10040.4.3
DSA_SIGNING_ALGORITHMS
public static final String DSA_SIGNING_ALGORITHMS[]
- Supported signing algorithms for a DSA key.
RSA_SIGNING_ALGORITHMS
public static final String RSA_SIGNING_ALGORITHMS[]
- Supported signing algorithms for a RSA key.
ALL_SIGNING_ALGORITHMS
public static final String ALL_SIGNING_ALGORITHMS[]
- All supported signing algorithms.
AlgorithmId
public AlgorithmId(ObjectIdentifier oid)
- Constructs a parameterless algorithm ID.
- Parameters:
- oid - the identifier for the algorithm
AlgorithmId
public AlgorithmId()
- Note: AlgorithmId() is deprecated.
use one of the other constructors.
- Constructs an algorithm ID which will be initialized
separately, for example by deserialization.
getAlgorithmId
public static AlgorithmId getAlgorithmId(String algname) throws NoSuchAlgorithmException
- Note: getAlgorithmId() is deprecated.
use the short get form of this method.
- Returns one of the algorithm IDs most commonly associated
with this algorithm name.
- Parameters:
- algname - the name being used
- Throws: NoSuchAlgorithmException
- on error.
getParameters
public AlgorithmParameters getParameters()
get
public static AlgorithmId get(String algname) throws NoSuchAlgorithmException
- Returns one of the algorithm IDs most commonly associated
with this algorithm name.
- Parameters:
- algname - the name being used
- Throws: NoSuchAlgorithmException
- on error.
parse
public static AlgorithmId parse(DerValue val) throws IOException
- Parse (unmarshal) an ID from a DER sequence input value. This form
parsing might be used when expanding a value which has already been
partially unmarshaled as a set or sequence member.
- Parameters:
- val - the input value, which contains the algid and, if
there are any parameters, those parameters.
- Returns:
- an ID for the algorithm. If the system is configured
appropriately, this may be an instance of a class
with some kind of special support for this algorithm.
In that case, you may "narrow" the type of the ID.
- Throws: IOException
- on error.
decodeParams
protected void decodeParams() throws IOException
encode
public final void encode(DerOutputStream out) throws IOException
- Marshal a DER-encoded "AlgorithmID" sequence on the DER stream.
derEncode
public void derEncode(OutputStream out) throws IOException
- DER encode this object onto an output stream.
Implements the
DerEncoder interface.
- Parameters:
- out
- the output stream on which to write the DER encoding.
- Throws: IOException
- on encoding error.
encode
public final byte[] encode() throws IOException
- Returns the DER-encoded X.509 AlgorithmId as a byte array.
getSigningAlgorithms
public static String[] getSigningAlgorithms(AlgorithmId alg)
- Returns list of signing algorithms for a key algorithm such as
RSA or DSA.
getOID
public final ObjectIdentifier getOID()
- Returns the ISO OID for this algorithm. This is usually converted
to a string and used as part of an algorithm name, for example
"OID.1.3.14.3.2.13" style notation. Use the
getName
call when you do not need to ensure cross-system portability
of algorithm names, or need a user friendly name.
getName
public String getName()
- Returns a name for the algorithm which may be more intelligible
to humans than the algorithm's OID, but which won't necessarily
be comprehensible on other systems. For example, this might
return a name such as "MD5withRSA" for a signature algorithm on
some systems. It also returns names like "OID.1.2.3.4", when
no particular name for the algorithm is known.
toString
public String toString()
- Returns a string describing the algorithm and its parameters.
getEncodedParams
public byte[] getEncodedParams() throws IOException
- Returns the DER encoded parameter, which can then be
used to initialize java.security.AlgorithmParamters.
- Returns:
- DER encoded parameters, or null not present.
paramsToString
protected String paramsToString()
- Provides a human-readable description of the algorithm parameters.
This may be redefined by subclasses which parse those parameters.
equals
public boolean equals(AlgorithmId other)
- Returns true iff the argument indicates the same algorithm
with the same parameters.
equals
public boolean equals(Object other)
- Compares this AlgorithmID to another. If algorithm parameters are
available, they are compared. Otherwise, just the object IDs
for the algorithm are compared.
- Parameters:
- other - preferably an AlgorithmId, else an ObjectIdentifier
equals
public final boolean equals(ObjectIdentifier id)
- Compares two algorithm IDs for equality. Returns true iff
they are the same algorithm, ignoring algorithm parameters.
All Packages Class Hierarchy This Package Previous Next Index