public class AlgorithmID extends java.lang.Object implements ASN1Type, java.lang.Cloneable
An AlgorithmID object unequivocally identifies some specific algorithm by assigning a particular ObjectID to it. An algorithmID optionally may include algorithm parameters:
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
An AlgorithmID object may be, for instance, used for specifying the signature
algorithm when signing a X509Certificate, e,g.:
X509Certificate cert = new X509Certificate(); ... cert.sign(AlgorithmID.sha1WithRSAEncryption, issuerPrivateKey);
This class statically registers algorithmIDs for several public key, key exchange, symmetric, signature and message digest algorithms. AlgorithmIDs that are already statically registered by this class easily may be obtained by only calling their corresponding parameter names, e.g.:
AlgorithmID algID = AlgorithmID.sha1WithRSAEncryption;Attention: This static registration part of this class only associates one specific object identifier with a particular AlgorithmID. If you intend to use another OID than the registered one, you should call the
AlgorithmID(String objectID,
String name, String implementation) constructor for registering the OID as
alternative OID for the specific algorithm, where objectID indicates
the OID in mind, name specifies a name for the OID, and
implementationName a string constant to be used for querying for an
implementation of the algorithm. This constant may be the specific algorithms
standard name, a registered algorithm alias (but preferably not
an OID alias!) (see IAIK provider), or a
proper "transformation string" (e.g. "DES/CBC/PKCS5Padding") when dealing
with a Cipher algorithm. After registration has been performed, the
getSignatureInstance(),
getMessageDigestInstance(),
getCipherInstance(),
getKeyAgreementInstance(), or the
getInstance() method may be used to search for an
implementation of the corresponding algorithm, whereas
getInstance() steps through all the other algorithm types, e.g.:
AlgorithmID algID = AlgorithmID.dsa; Signature dsa = algID.getSignatureInstance(); // or: Signature dsa = (Signature) algID.getInstance();Unfortunately sometimes there exist multiple object identifiers associated with the same algorithm. Where recognized, the
IAIK provider) registers such object
identifiers as aliases for the specific algorithm. Consider, for instance,
the two OID strings "1.3.14.3.2.29" and "1.2.840.113549.1.1.5", both
identifying the "sha1WithRSAEncryption" signature algorithm. Both OID strings
are registered by the IAIK provider as aliases for the "SHA1/RSA" algorithm.
However the sha1WithRSAEncryption variable of
this class only associates the "1.2.840.113549.1.1.5" object identifier with
the "SHA1/RSA" algorithm by statically calling
public static final AlgorithmID sha1WithRSAEncryption = new AlgorithmID(
"1.2.840.113549.1.1.5", "sha1WithRSAEncryption", "SHA/RSA");
Now, if you prefer to use "1.3.14.3.2.29" instead of "1.2.840.113549.1.1.5"
you additionally may register this OID by calling:
AlgorithmID algID = new AlgorithmID("1.3.14.3.2.29", "sha1WithRSAEncryption",
"SHA/RSA");
Notice, that this will not discard the predefined
AlgorithmID.sha1WithRSAEncryption. Accessing
AlgorithmID.sha1WithRSAEncryption, again will show 1.3.14.3.2.29. However,
you may access your new algorithmID with variable algID you have just
created, and when parsing an algorithmID both OIDs will be recognized and
handled properly. Note that proper parsing for "SHA/RSA" with "1.3.14.3.2.29"
already is ensured by alias registration in the IAIK provider. However you
may wish to create a new "SHA/RSA" AlgorithmID for "1.3.14.3.2.29", or
you may know of a object ID which already is not registered as alias (in
fact, "1.3.14.3.2.29" already is registered by variable
sha1WithRSAEncryption_, so above may only
serve as an example) . Or you may deal with a cipher where alias registration
may not satisfy since padding scheme and cipher mode maybe required. The, for
instance, des_CBC cipher algorithmID statically is
registered by using the "DES/CBC/PKCS5Padding" transformation string as
implementation name:
public static final AlgorithmID des_CBC = new AlgorithmID("1.3.14.3.2.7",
"DES-CBC", "DES/CBC/PKCS5Padding");
For defining AlgorithmIDs for algorithms not implemented by the IAIK
provider, this class uses the AlgorithmID(String objectID, String name) constructor.
If you want to change the object identifier of an already existing
AlgorithmID permanently, you may use the
changeObjectID(AlgorithmID
algID, ObjectID oid) or changeOIDString(AlgorithmID algID, String oidString) method; the latter
adopts any existing name or shortName from the old oid. With JDK 1.2 the SUN
provider, for instance, has changed the algorithm oid of the DSA algorithm
from 1.3.14.3.2.12 to 1.2.840.10040.4.1, as also done by the IAIK provider.
An application wishing to use 1.3.14.3.2.12 may allocate it by:
AlgorithmID.changeOIDString(AlgorithmID.dsa, "1.3.14.3.2.12");or
ObjectID oid = new ObjectID("1.3.14.3.2.12", "DSA", "DSA");
AlgorithmID.changeObjectID(AlgorithmID.dsa, oid);
Attention You should clone an algorithmID before
adding parameters to avoid unintentional parameter allocation!ASN1Type,
ASN1Object,
ObjectID| Modifier and Type | Field and Description |
|---|---|
static AlgorithmID |
aes128_CBC
Creates an AlgorithmID for the AES symmetric block cipher used in CBC mode
with 128 bit keys.
|
static AlgorithmID |
aes128_CCM
Creates an AlgorithmID for the AES symmetric block cipher used in CCM mode
with 128 bit keys (aes128-CCM authenticated encryption algorithm id
according RFC 5084).
|
static AlgorithmID |
aes128_GCM
Creates an AlgorithmID for the AES symmetric block cipher used in GCM mode
with 128 bit keys (aes128-GCM authenticated encryption algorithm id
according RFC 5084).
|
static AlgorithmID |
aes192_CBC
Creates an AlgorithmID for the AES symmetric block cipher used in CBC mode
with 192 bit keys.
|
static AlgorithmID |
aes192_CCM
Creates an AlgorithmID for the AES symmetric block cipher used in CCM mode
with 192 bit keys (aes192-CCM authenticated encryption algorithm id
according RFC 5084).
|
static AlgorithmID |
aes192_GCM
Creates an AlgorithmID for the AES symmetric block cipher used in GCM mode
with 192 bit keys (aes192-GCM authenticated encryption algorithm id
according RFC 5084).
|
static AlgorithmID |
aes256_CBC
Creates an AlgorithmID for the AES symmetric block cipher used in CBC mode
with 256 bit keys.
|
static AlgorithmID |
aes256_CCM
Creates an AlgorithmID for the AES symmetric block cipher used in CCM mode
with 256 bit keys (aes256-CCM authenticated encryption algorithm id
according RFC 5084).
|
static AlgorithmID |
aes256_GCM
Creates an AlgorithmID for the AES symmetric block cipher used in GCM mode
with 256 bit keys (aes256-GCM authenticated encryption algorithm id
according RFC 5084).
|
protected static java.util.Hashtable |
algorithmParameterSpecs
Maps AlgorithmIDs to class objects for classes which implement
java.security.spec.AlgorithmParameterSpec. |
protected static java.util.Hashtable |
algorithms
Reverse implementation repository.
|
static AlgorithmID |
arcfour
Creates an AlgorithmID for the
ARCFOUR stream cipher. |
static AlgorithmID |
camellia128_CBC
Creates an AlgorithmID for the Camellia symmetric block cipher used in CBC
mode with 128 bit keys.
|
static AlgorithmID |
camellia192_CBC
Creates an AlgorithmID for the Camellia symmetric block cipher used in CBC
mode with 192 bit keys.
|
static AlgorithmID |
camellia256_CBC
Creates an AlgorithmID for the Camellia symmetric block cipher used in CBC
mode with 256 bit keys.
|
static AlgorithmID |
cast5_CBC
Creates an AlgorithmID for the
CAST5 symmetric block cipher
used in CBC mode. |
static AlgorithmID |
cms_3DES_wrap
Creates an AlgorithmID for the
CMS3DESwrap key wrap algorithm
for wrapping 3DES content encryption keys with 3DES key encryption keys
(RFC 2630). |
static AlgorithmID |
cms_aes128_wrap
Creates an AlgorithmID for the
CMSAESwrap key wrap algorithm
using a 128 bit AES key as key encryption key (RFC 3394). |
static AlgorithmID |
cms_aes192_wrap
Creates an AlgorithmID for the
CMSAESwrap key wrap algorithm
using a 192 bit AES key as key encryption key (RFC 3394). |
static AlgorithmID |
cms_aes256_wrap
Creates an AlgorithmID for the
CMSAESwrap key wrap algorithm
using a 256 AES key as key encryption key (RFC 3394). |
static AlgorithmID |
cms_camellia128_wrap
Creates an AlgorithmID for the
CMSCamelliaWrap key wrap
algorithm using a 128 bit Camellia key as key encryption key (RFC 3657). |
static AlgorithmID |
cms_camellia192_wrap
Creates an AlgorithmID for the
CMSCamelliaWrap key wrap
algorithm using a 192 bit Camellia key as key encryption key (RFC 3657). |
static AlgorithmID |
cms_camellia256_wrap
Creates an AlgorithmID for the
CMSCamelliaWrap key wrap
algorithm using a 256 Camellia key as key encryption key (RFC 3657). |
static AlgorithmID |
cms_cast5_wrap
Creates an AlgorithmID for the
CMSCAST128wrap key wrap
algorithm for wrapping CAST128 content encryption keys with CAST128 key
encryption keys (RFC 2984). |
static AlgorithmID |
cms_HMACwith3DES_wrap
Creates an AlgorithmID for the
HMACwith3DESwrap key wrap
algorithm for wrapping a HMAC key with a 3DES key encryption key (RFC
3537). |
static AlgorithmID |
cms_HMACwithAES_wrap
Creates an AlgorithmID for the
HMACwithAESwrap key wrap
algorithm for wrapping a HMAC key with a AES key encryption key (RFC 3537). |
static AlgorithmID |
cms_idea_wrap
Creates an AlgorithmID for the
CMSIDEAwrap key wrap algorithm
for wrapping IDEA content encryption keys with IDEA key encryption keys
(RFC 3058). |
static AlgorithmID |
cms_rc2_wrap
Creates an AlgorithmID for the
CMSRC2wrap key wrap algorithm
for wrapping RC2 content encryption keys with RC2 key encryption keys (RFC
2630). |
static AlgorithmID |
des_CBC
Creates an AlgorithmID for the
DES symmetric block cipher used
in CBC mode. |
static AlgorithmID |
des_EDE3_CBC
Creates an AlgorithmID for the
Triple DES symmetric block
cipher used in CBC mode. |
static AlgorithmID |
dhKeyAgreement
Creates an AlgorithmID for the
Diffie-Hellman key exchange
algorithm. |
static AlgorithmID |
dsa
Creates an AlgorithmID for the
DSA algorithm (used with
KeyFactories). |
static AlgorithmID |
dsa_
Creates an alternative AlgorithmID for the
DSA algorithm (used
with key factories). |
static AlgorithmID |
dsa_With_SHA1
Deprecated.
standard Algorithm Identifier for dsaWithSHA1 is
dsaWithSHA1 (1.2.840.10040.4.3) |
static AlgorithmID |
dsaWithSHA
Creates an AlgorithmID for the
dsaWithSHA signature algorithm
(addresses the same Signature engine as dsaWithSHA1). |
static AlgorithmID |
dsaWithSHA1
Creates an AlgorithmID for the
dsaWithSHA signature algorithm
(addresses the same Signature engine as dsaWithSHA1). |
static AlgorithmID |
dsaWithSHA1_
Deprecated.
standard Algorithm Identifier for dsaWithSHA1 is
dsaWithSHA1 (1.2.840.10040.4.3) |
static AlgorithmID |
dsaWithSHA224
Creates an AlgorithmID for the
dsaWithSHA224 signature
algorithm. |
static AlgorithmID |
dsaWithSHA256
Creates an AlgorithmID for the
dsaWithSHA256 signature
algorithm. |
static AlgorithmID |
ecDH
Creates an AlgorithmID for the
id-ecDH public key algorithm
(RFC 5480, used with key factories). |
static AlgorithmID |
ecdsa
Creates an AlgorithmID for the
ECDSA algorithm (used with key
factories). |
static AlgorithmID |
ecdsa_plain_With_RIPEMD160
Creates an AlgorithmID for the
ecdsa-plain-RIPEMD160 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_plain_With_SHA1
Creates an AlgorithmID for the
ecdsa-plain-SHA1 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_plain_With_SHA224
Creates an AlgorithmID for the
ecdsa-plain-SHA224 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_plain_With_SHA256
Creates an AlgorithmID for the
ecdsa-plain-SHA256 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_plain_With_SHA384
Creates an AlgorithmID for the
ecdsa-plain-SHA384 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_plain_With_SHA512
Creates an AlgorithmID for the
ecdsa-plain-SHA512 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. |
static AlgorithmID |
ecdsa_With_SHA1
Creates an AlgorithmID for the
ecdsa-with-SHA1 signature
algorithm as specified by ANSI X9.62. |
static AlgorithmID |
ecdsa_With_SHA224
Creates an AlgorithmID for the
ecdsa-with-SHA224 signature
algorithm as specified by ANSI X9.62:2005. |
static AlgorithmID |
ecdsa_With_SHA256
Creates an AlgorithmID for the
ecdsa-with-SHA256 signature
algorithm as specified by ANSI X9.62:2005. |
static AlgorithmID |
ecdsa_With_SHA384
Creates an AlgorithmID for the
ecdsa-with-SHA384 signature
algorithm as specified by ANSI X9.62:2005. |
static AlgorithmID |
ecdsa_With_SHA512
Creates an AlgorithmID for the
ecdsa-with-SHA512 signature
algorithm as specified by ANSI X9.62:2005. |
static AlgorithmID |
ecPublicKey
Creates an AlgorithmID for the
id-ecPublicKey algorithm (RFC
5480, used with key factories). |
static AlgorithmID |
esdh
Creates an AlgorithmID for identifying public
Ephemeral-Static
Diffie-Hellman keys. |
static AlgorithmID |
esdhKeyAgreement
Creates an AlgorithmID for the
Ephemeral-Static Diffie-Hellman
key agreement algorithm (RFC 2631). |
static AlgorithmID |
gost3410
Creates an AlgorithmID for the
gostR3410-2001 signature
algorithm as specified by RFC 5832. |
static AlgorithmID |
gost3411
Creates an AlgorithmID for the
GOST-R-34.11-94 message digest
algorithm which is the same as GOST3411. |
static AlgorithmID |
hMAC_GOST
Creates an AlgorithmID for the
HMAC_GOSTR3411 message digest
algorithm. |
static AlgorithmID |
hMAC_MD5
Creates an AlgorithmID for the
hMAC-SHA1 message digest
algorithm. |
static AlgorithmID |
hMAC_RIPEMD160
Creates an AlgorithmID for the
hMAC-RIPEMD160 message digest
algorithm. |
static AlgorithmID |
hMAC_SHA1
Creates an AlgorithmID for the
hMAC-SHA1 message digest
algorithm. |
static AlgorithmID |
hMAC_SHA1_
Creates an alternative (PKCS#5) AlgorithmID for the
hMAC-SHA1
message digest algorithm. |
static AlgorithmID |
hMAC_SHA224
Creates an AlgorithmID for the
hMAC-SHA224 message digest
algorithm (RFC 4231). |
static AlgorithmID |
hMAC_SHA256
Creates an AlgorithmID for the
hMAC-SHA256 message digest
algorithm (RFC 4231). |
static AlgorithmID |
hMAC_SHA384
Creates an AlgorithmID for the
hMAC-SHA384 message digest
algorithm (RFC 4231). |
static AlgorithmID |
hMAC_SHA512
Creates an AlgorithmID for the
hMAC-SHA512 message digest
algorithm (RFC 4231). |
static AlgorithmID |
idea_CBC
Creates an AlgorithmID for the
IDEA symmetric block cipher
used in CBC mode. |
protected static java.util.Hashtable |
implementations
Implementation repository.
|
static AlgorithmID |
md2
Creates an AlgorithmID for the
MD2 message digest algorithm. |
static AlgorithmID |
md2WithRSAEncryption
Creates an AlgorithmID for the
md2WithRSAEncryption signature
algorithm. |
static AlgorithmID |
md4
Creates an AlgorithmID for the
MD4 message digest algorithm. |
static AlgorithmID |
md4WithRSAEncryption
Creates an AlgorithmID for the
md4WithRSAEncryption signature
algorithm. |
static AlgorithmID |
md5
Creates an AlgorithmID for the
MD5 message digest algorithm. |
static AlgorithmID |
md5WithRSAEncryption
Creates an AlgorithmID for the
md5WithRSAEncryption signature
algorithm. |
static AlgorithmID |
mgf1
Creates an AlgorithmID for the PKCS#1v2.1
MGF1 mask generation
function. |
static AlgorithmID |
pbes2
Creates an AlgorithmID for the
PBES2 encryption scheme
as defined by PKCS#5, 2.0 (cipher). |
static AlgorithmID |
pbeWithMD5AndDES_CBC
Creates an AlgorithmID for the
pbeWithMD5AndDES_CBC
key-encryption algorithm as defined by PKCS#5. |
static AlgorithmID |
pbeWithSHAAnd128BitRC2_CBC
Creates an AlgorithmID for the
pbeWithSHAAnd128BitRC2_CBC
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbeWithSHAAnd128BitRC4
Creates an AlgorithmID for the
pbeWithSHAAnd128BitRC4
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbeWithSHAAnd2_KeyTripleDES_CBC
Creates an AlgorithmID for the
pbeWithSHAAnd2_KeyTripleDES_CBC
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbeWithSHAAnd3_KeyTripleDES_CBC
Creates an AlgorithmID for the
pbeWithSHAAnd3_KeyTripleDES_CBC
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbeWithSHAAnd40BitRC2_CBC
Creates an AlgorithmID for the
pbeWithSHAAnd40BitRC2_CBC
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbeWithSHAAnd40BitRC4
Creates an AlgorithmID for the
pbeWithSHAAnd40BitRC4
key-encryption algorithm as defined by PKCS#12. |
static AlgorithmID |
pbkdf2
Creates an AlgorithmID for the
PBKDF2 key-derivation function
as defined by PKCS#5 (key generator). |
static AlgorithmID |
pSpecified
Creates an AlgorithmID for the PKCS#1v2.1
pSpecified
PSourceAlgorithm. |
static AlgorithmID |
pwri_kek
Creates an AlgorithmID for the CMS PWRI-KEK key wrap algorithm for wrapping
a content encryption key with a key derived from some password (RFC 3211, Password-based Encryption for
CMS).
|
static AlgorithmID |
rc2_CBC
Creates an AlgorithmID for the
RC2 [TM] symmetric block cipher
used in CBC mode. |
static AlgorithmID |
rc4
Creates an AlgorithmID for the
RC4 [TM] stream cipher. |
static AlgorithmID |
rc5_CBC
Creates an AlgorithmID for the
RC5 [TM] symmetric block cipher
used in CBC mode. |
static AlgorithmID |
ripeMd128
Creates an AlgorithmID for the
RipeMd128 message digest
algorithm. |
static AlgorithmID |
ripeMd128_ISO
Creates an AlgorithmID for the
RipeMd128 message digest
algorithm. |
static AlgorithmID |
ripeMd160
Creates an AlgorithmID for the
RipeMd160 message digest
algorithm. |
static AlgorithmID |
ripeMd160_ISO
Creates an AlgorithmID for the
RipeMd160 message digest
algorithm. |
static AlgorithmID |
ripeMd256
Creates an AlgorithmID for the
RipeMd256 message digest
algorithm. |
static AlgorithmID |
rsa
Creates an AlgorithmID for the
RSA public key algorithm. |
static AlgorithmID |
rsaEncryption
Creates an AlgorithmID for the
RSA encryption signature
algorithm. |
static AlgorithmID |
rsaesOAEP
Creates an AlgorithmID for the
RSAES-OAEP encryption scheme. |
static AlgorithmID |
rsaSignatureWithRipemd128
Creates an AlgorithmID for the
rsaSignatureWithRipemd128
signature algorithm. |
static AlgorithmID |
rsaSignatureWithRipemd160
Creates an AlgorithmID for the
rsaSignatureWithRipemd160
signature algorithm. |
static AlgorithmID |
rsaSignatureWithRipemd256
Creates an AlgorithmID for the
rsaSignatureWithRipemd256
signature algorithm. |
static AlgorithmID |
rsassaPss
Creates an AlgorithmID for the PKCS#1v2.1
RSASSA-PSS signature
algorithm. |
static AlgorithmID |
sha
Creates an AlgorithmID for the
SHA message digest algorithm. |
static AlgorithmID |
sha1
Creates an AlgorithmID for the
SHA1 message digest algorithm
which is the same as SHA. |
static AlgorithmID |
sha1WithRSAEncryption
Creates an AlgorithmID for the
sha1WithRSAEncryption signature
algorithm. |
static AlgorithmID |
sha1WithRSAEncryption_
Creates an alternative AlgorithmID for the
sha1WithRSAEncryption signature algorithm. |
static AlgorithmID |
sha224
Creates an AlgorithmID for the
SHA-224 message digest
algorithm. |
static AlgorithmID |
sha224WithRSAEncryption
Creates an AlgorithmID for the
sha224WithRSAEncryption
signature algorithm (PKCS#1v2). |
static AlgorithmID |
sha256
Creates an AlgorithmID for the
SHA-256 message digest
algorithm. |
static AlgorithmID |
sha256WithRSAEncryption
Creates an AlgorithmID for the
sha256WithRSAEncryption
signature algorithm (PKCS#1v2). |
static AlgorithmID |
sha384
Creates an AlgorithmID for the
SHA-384 message digest
algorithm. |
static AlgorithmID |
sha384WithRSAEncryption
Creates an AlgorithmID for the
sha384WithRSAEncryption
signature algorithm (PKCS#1v2). |
static AlgorithmID |
sha512
Creates an AlgorithmID for the
SHA-512 message digest
algorithm. |
static AlgorithmID |
sha512_224
Creates an AlgorithmID for the
SHA-512/224 message digest
algorithm. |
static AlgorithmID |
sha512_256
Creates an AlgorithmID for the
SHA-512/256 message digest
algorithm. |
static AlgorithmID |
sha512WithRSAEncryption
Creates an AlgorithmID for the
sha512WithRSAEncryption
signature algorithm (PKCS#1v2). |
static AlgorithmID |
sigS_ISO9796_2rndWithripemd160
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withripemd160 signature algorithm (RSA based
ISO/IEC 9796-2 scheme with random number using RIPEMD-160 as hash algorithm
and "BC" as trailer field). |
static AlgorithmID |
sigS_ISO9796_2rndWithrsa
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withrsa
signature algorithm (RSA based ISO/IEC 9796-2 scheme S2, S3 with random
number). |
static AlgorithmID |
sigS_ISO9796_2rndWithsha1
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withsha1
signature algorithm (RSA based ISO/IEC 9796-2 scheme with random number
using SHA-1 as hash algorithm and "BC" as trailer field). |
static AlgorithmID |
sigS_ISO9796_2Withripemd160
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withripemd160 signature algorithm (RSA based
ISO/IEC 9796-2 scheme using RIPEMD-160 as hash algorithm and "BC"
as trailer field). |
static AlgorithmID |
sigS_ISO9796_2Withrsa
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withrsa
signature algorithm (RSA based ISO/IEC 9796-2 scheme S2, S3). |
static AlgorithmID |
sigS_ISO9796_2Withsha1
Creates a Teletrust AlgorithmID for the
sigS_ISO9796_2Withsha1
signature algorithm (RSA based ISO/IEC 9796-2 scheme using SHA-1 as hash
algorithm and "BC" as trailer field). |
static AlgorithmID |
ssdhKeyAgreement
Creates an AlgorithmID for the
Static-Static Diffie-Hellman
key agreement algorithm (CMS). |
static AlgorithmID |
whirlpool
Creates an AlgorithmID for the
Whirlpol message digest
algorithm. |
static AlgorithmID |
zlib_compress
Creates an AlgorithmID for the
ZLIB compression algorithm
([RFC1950] [RFC1951]). |
| Constructor and Description |
|---|
AlgorithmID()
Default constructor.
|
AlgorithmID(ASN1Object algorithmID)
Creates a new AlgorithmID from an ASN1Object.
|
AlgorithmID(DerInputStream is)
Decodes an AlgorithmID from a DerInputStream.
|
AlgorithmID(ObjectID algorithm)
Creates a new AlgorithmID from an ObjectID.
|
AlgorithmID(ObjectID algorithm,
ASN1Object parameter)
Creates a new AlgorithmID from an ObjectID and algorithm parameters.
|
AlgorithmID(java.lang.String objectID,
java.lang.String name)
Creates a new AlgorithmID from an object identifier and a name.
|
AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName)
Creates a new AlgorithmID from an object identifier, a name and and
implementation name.
|
AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String[] implementationNames,
boolean useNULLForAbsentParameters)
Creates a new AlgorithmID from an object identifier, a name and and
a set of implementation names.
|
AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName,
boolean useNULLForAbsentParameters)
Creates a new AlgorithmID from an object identifier, a name and and
implementation name.
|
AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName,
java.lang.Class algorithmParameterSpec)
Creates a new AlgorithmID from an object identifier, a name and and
implementation name.
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
changeObjectID(AlgorithmID algID,
ObjectID oid)
Changes the object identifier of the given AlgorithmID object.
|
static boolean |
changeOIDString(AlgorithmID algID,
java.lang.String oidString)
Changes the object identifier string of the given AlgorithmID object.
|
java.lang.Object |
clone()
Returns a clone of this AlgorithmID.
|
void |
decode(ASN1Object algorithmID)
Decodes an AlgorithmID from the given ASN1Object.
|
void |
encodeAbsentParametersAsNull(boolean useNULLForAbsentParameters)
Decide whether to encode absent parameters as NULL or omit the parameters
field.
|
boolean |
equals(java.lang.Object obj)
Compares this AlgorithmID with the given AlgorithmID.
|
boolean |
equals(java.lang.Object obj,
boolean checkParams)
Compares this AlgorithmID with the given AlgorithmID.
|
ObjectID |
getAlgorithm()
Returns the ObjectID of the algorithm.
|
static AlgorithmID |
getAlgorithmID(java.lang.String implementationName)
Returns an AlgorithmID for the given implementation name.
|
java.security.AlgorithmParameters |
getAlgorithmParameters()
Returns the parameters of the algorithm as
java.security.AlgorithmParameters object. |
java.security.AlgorithmParameters |
getAlgorithmParameters(java.lang.String algorithm)
Returns the parameters of the algorithm as
java.security.AlgorithmParameters object. |
java.security.AlgorithmParameters |
getAlgorithmParameters(java.lang.String algorithm,
java.lang.String provider)
Returns the parameters of the algorithm as
java.security.AlgorithmParameters object. |
java.security.spec.AlgorithmParameterSpec |
getAlgorithmParameterSpec()
Same as
getAlgorithmParameterSpec(String) with null
as argument. |
java.security.spec.AlgorithmParameterSpec |
getAlgorithmParameterSpec(java.lang.Class parameterSpecClass,
java.lang.String provider)
Returns the algorithm parameters (if included) of this AlgorithmID as
AlgorithmParameterSpec
instance of the given parameterSpecClass name. |
java.security.spec.AlgorithmParameterSpec |
getAlgorithmParameterSpec(java.lang.String provider)
Returns the algorithm parameters (if included) of this AlgorithmID as
java.security.spec.AlgorithmParameterSpec object. |
javax.crypto.Cipher |
getCipherInstance()
Tries to find a Cipher implementation for this AlgorithmIdentifier.
|
javax.crypto.Cipher |
getCipherInstance(java.lang.String provider)
Tries to find a provider-specific Cipher implementation for this
AlgorithmIdentifier.
|
static boolean |
getDoNotIncludeParameters(AlgorithmID pkixSignatureAlgID)
Checks whether to include parameters in signature AlgoritmIDs when used in
PKIX certificate, crl, etc.
|
java.lang.String |
getImplementationName()
Returns the name for an implementation of this algorithm.
|
static java.lang.String[] |
getImplementationNames(AlgorithmID algorithmID)
Gets all implementation names registered for the given AlgorithmID.
|
java.lang.Object |
getInstance()
Tries to find an implementation for this AlgorithmIdentifier.
|
java.lang.Object |
getInstance(java.lang.String provider)
Tries to find a provider specific implementation for this
AlgorithmIdentifier.
|
javax.crypto.KeyAgreement |
getKeyAgreementInstance()
Tries to find a KeyAgreement implementation for this AlgorithmIdentifier.
|
javax.crypto.KeyAgreement |
getKeyAgreementInstance(java.lang.String provider)
Tries to find a provider-specific KeyAgreement implementation for this
AlgorithmIdentifier.
|
java.security.KeyFactory |
getKeyFactoryInstance()
Tries to find a KeyFactory implementation for this AlgorithmIdentifier.
|
java.security.KeyFactory |
getKeyFactoryInstance(java.lang.String provider)
Tries to find a provider-specific KeyFactory implementation for this
AlgorithmIdentifier.
|
javax.crypto.KeyGenerator |
getKeyGeneratorInstance()
Tries to find a KeyGenerator implementation for this AlgorithmIdentifier.
|
javax.crypto.KeyGenerator |
getKeyGeneratorInstance(java.lang.String provider)
Tries to find a provider-specific KeyGenerator implementation for this
AlgorithmID.
|
java.security.KeyPairGenerator |
getKeyPairGeneratorInstance()
Tries to find a KeyPairGenerator implementation for this
AlgorithmIdentifier.
|
java.security.KeyPairGenerator |
getKeyPairGeneratorInstance(java.lang.String provider)
Tries to find a provider-specific KeyPairGenerator implementation for this
AlgorithmID.
|
javax.crypto.Mac |
getMacInstance()
Tries to find a Mac implementation for this AlgorithmIdentifier.
|
javax.crypto.Mac |
getMacInstance(java.lang.String provider)
Tries to find a provider-specific Mac implementation for this
AlgorithmIdentifier.
|
MaskGenerationAlgorithm |
getMaskGenerationAlgorithmInstance()
Tries to find an PKCS#1 MaskGenerationAlgorithm implementation for this
AlgorithmIdentifier.
|
MaskGenerationAlgorithm |
getMaskGenerationAlgorithmInstance(java.lang.String provider)
Tries to find an PKCS#1 MaskGenerationAlgorithm implementation for this
AlgorithmIdentifier.
|
java.security.MessageDigest |
getMessageDigestInstance()
Tries to find a MessageDigest implementation for this AlgorithmIdentifier.
|
java.security.MessageDigest |
getMessageDigestInstance(java.lang.String provider)
Tries to find a provider-specific MessageDigest implementation for this
AlgorithmIdentifier.
|
java.lang.String |
getName()
Returns the name registered for this AlgorithmID or the object identifier
string if there is no name registered.
|
ASN1Object |
getParameter()
Returns the parameters of the algorithm as ASN1Object.
|
java.lang.String |
getRawImplementationName()
Tries to get the raw inplementation name of the algorithm this AlgorithmID
represents.
|
javax.crypto.SecretKeyFactory |
getSecretKeyFactoryInstance()
Tries to find a SecretKeyFactory implementation for this
AlgorithmIdentifier.
|
javax.crypto.SecretKeyFactory |
getSecretKeyFactoryInstance(java.lang.String provider)
Tries to find a provider-specific SecretKeyFactory implementation for this
AlgorithmID.
|
java.security.Signature |
getSignatureInstance()
Tries to find a Signature implementation for this AlgorithmIdentifier.
|
java.security.Signature |
getSignatureInstance(java.lang.String provider)
Tries to find a provider-specific Signature implementation for this
AlgorithmIdentifier.
|
int |
hashCode()
Returns a hash code value for this object.
|
boolean |
hasParameters()
Asks whether this AlgorithmID has parameters that are different from ASN.1
NULL.
|
static void |
register(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName)
Registers an AlgorithmID for the given object identifier, a name and and
implementation name.
|
void |
setAlgorithmParameters(java.security.AlgorithmParameters parameters)
Sets the parameters of the algorithm.
|
void |
setAlgorithmParameterSpec(java.security.spec.AlgorithmParameterSpec parameters)
Sets the parameters of the algorithm.
|
void |
setAlgorithmParameterSpec(java.security.spec.AlgorithmParameterSpec parameters,
java.lang.String provider)
Sets the parameters of the algorithm.
|
static void |
setDefaultEncodeAbsentParametersAsNull(boolean useNULLForAbsentParameters)
Sets the default strategy for encoding absent parameters as ASN.1
NULL
or omit the parameters field. |
static void |
setDoIncludeParameters(AlgorithmID pkixSignatureAlgID)
Unregisters a signature AlgorithmID which should contain parameters when
used in PKIX certificate, crl, etc.
|
static void |
setDoNotIncludeParameters(AlgorithmID pkixSignatureAlgID)
Registers a signature AlgorithmID which should not contain parameters when
used in PKIX certificate, crl, etc.
|
void |
setParameter(ASN1Object parameters)
Sets the parameters of the algorithm.
|
ASN1Object |
toASN1Object()
Returns the AlgorithmID as an (SEQUENCE) ASN1Object.
|
ASN1Object |
toASN1Object(boolean useNULLForAbsentParameters)
Returns the AlgorithmID as an (SEQUENCE) ASN1Object.
|
java.lang.String |
toString()
Returns a string that represents this AlgorithmIdentifier.
|
protected static final java.util.Hashtable implementations
protected static final java.util.Hashtable algorithms
protected static final java.util.Hashtable algorithmParameterSpecs
java.security.spec.AlgorithmParameterSpec. This table is used
to create AlgorithmParameterSpec objects directly from the encoded
algorithm parameters.public static final AlgorithmID rsa
RSA public key algorithm.
public static final AlgorithmID rc2_CBC
RC2 [TM] symmetric block cipher
used in CBC mode.
public static final AlgorithmID arcfour
ARCFOUR stream cipher.
public static final AlgorithmID rc4
RC4 [TM] stream cipher.
public static final AlgorithmID des_EDE3_CBC
Triple DES symmetric block
cipher used in CBC mode.
public static final AlgorithmID des_CBC
DES symmetric block cipher used
in CBC mode.
public static final AlgorithmID idea_CBC
IDEA symmetric block cipher
used in CBC mode.
public static final AlgorithmID aes128_CBC
public static final AlgorithmID aes192_CBC
public static final AlgorithmID aes256_CBC
public static final AlgorithmID camellia128_CBC
public static final AlgorithmID camellia192_CBC
public static final AlgorithmID camellia256_CBC
public static final AlgorithmID cast5_CBC
CAST5 symmetric block cipher
used in CBC mode.
public static final AlgorithmID rc5_CBC
RC5 [TM] symmetric block cipher
used in CBC mode.
public static final AlgorithmID aes128_CCM
public static final AlgorithmID aes192_CCM
public static final AlgorithmID aes256_CCM
public static final AlgorithmID aes128_GCM
public static final AlgorithmID aes192_GCM
public static final AlgorithmID aes256_GCM
public static final AlgorithmID dhKeyAgreement
Diffie-Hellman key exchange
algorithm.
public static final AlgorithmID esdhKeyAgreement
Ephemeral-Static Diffie-Hellman
key agreement algorithm (RFC 2631).
public static final AlgorithmID esdh
Ephemeral-Static
Diffie-Hellman keys.
public static final AlgorithmID ssdhKeyAgreement
Static-Static Diffie-Hellman
key agreement algorithm (CMS).
public static final AlgorithmID rsaEncryption
RSA encryption signature
algorithm.
public static final AlgorithmID md2WithRSAEncryption
md2WithRSAEncryption signature
algorithm.
public static final AlgorithmID md4WithRSAEncryption
md4WithRSAEncryption signature
algorithm.
public static final AlgorithmID md5WithRSAEncryption
md5WithRSAEncryption signature
algorithm.
public static final AlgorithmID sha1WithRSAEncryption_
sha1WithRSAEncryption signature algorithm.
public static final AlgorithmID sha1WithRSAEncryption
sha1WithRSAEncryption signature
algorithm.
public static final AlgorithmID sha224WithRSAEncryption
sha224WithRSAEncryption
signature algorithm (PKCS#1v2).
public static final AlgorithmID sha256WithRSAEncryption
sha256WithRSAEncryption
signature algorithm (PKCS#1v2).
public static final AlgorithmID sha384WithRSAEncryption
sha384WithRSAEncryption
signature algorithm (PKCS#1v2).
public static final AlgorithmID sha512WithRSAEncryption
sha512WithRSAEncryption
signature algorithm (PKCS#1v2).
public static final AlgorithmID dsa_
DSA algorithm (used
with key factories).
public static final AlgorithmID dsa
DSA algorithm (used with
KeyFactories).
public static final AlgorithmID dsa_With_SHA1
dsaWithSHA1 (1.2.840.10040.4.3)dsaWithSHA1
signature algorithm.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID dsaWithSHA
dsaWithSHA signature algorithm
(addresses the same Signature engine as dsaWithSHA1).
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID dsaWithSHA1
dsaWithSHA signature algorithm
(addresses the same Signature engine as dsaWithSHA1).
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID dsaWithSHA1_
dsaWithSHA1 (1.2.840.10040.4.3)dsaWithSHA1 signature
algorithm.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID dsaWithSHA224
dsaWithSHA224 signature
algorithm.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID dsaWithSHA256
dsaWithSHA256 signature
algorithm.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa
ECDSA algorithm (used with key
factories).
public static final AlgorithmID ecPublicKey
id-ecPublicKey algorithm (RFC
5480, used with key factories).
public static final AlgorithmID ecDH
id-ecDH public key algorithm
(RFC 5480, used with key factories).
public static final AlgorithmID gost3410
gostR3410-2001 signature
algorithm as specified by RFC 5832.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_With_SHA1
ecdsa-with-SHA1 signature
algorithm as specified by ANSI X9.62.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_With_SHA224
ecdsa-with-SHA224 signature
algorithm as specified by ANSI X9.62:2005.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_With_SHA256
ecdsa-with-SHA256 signature
algorithm as specified by ANSI X9.62:2005.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_With_SHA384
ecdsa-with-SHA384 signature
algorithm as specified by ANSI X9.62:2005.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_With_SHA512
ecdsa-with-SHA512 signature
algorithm as specified by ANSI X9.62:2005.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_SHA1
ecdsa-plain-SHA1 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_SHA224
ecdsa-plain-SHA224 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_SHA256
ecdsa-plain-SHA256 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_SHA384
ecdsa-plain-SHA384 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_SHA512
ecdsa-plain-SHA512 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID ecdsa_plain_With_RIPEMD160
ecdsa-plain-RIPEMD160 signature
algorithm as defined by the German BSI Technical Guideline TR-03111. The
signature value is encoded as (r || s) and not wrapped into a SEQUENCE as
done by X9.62. If the hash length is larger than the domain parameter
length the hash is not truncated like in X9.62; rather it is reduced modulo
n, the order of the base point G.
Note that the parameters field is omitted from the encoding if no parameters are set (i.e. absent parameters are NOT encoded as NULL!)
public static final AlgorithmID rsaSignatureWithRipemd160
rsaSignatureWithRipemd160
signature algorithm.
public static final AlgorithmID rsaSignatureWithRipemd128
rsaSignatureWithRipemd128
signature algorithm.
public static final AlgorithmID rsaSignatureWithRipemd256
rsaSignatureWithRipemd256
signature algorithm.
public static final AlgorithmID sigS_ISO9796_2Withrsa
sigS_ISO9796_2Withrsa
signature algorithm (RSA based ISO/IEC 9796-2 scheme S2, S3).
public static final AlgorithmID sigS_ISO9796_2Withsha1
sigS_ISO9796_2Withsha1
signature algorithm (RSA based ISO/IEC 9796-2 scheme using SHA-1 as hash
algorithm and "BC" as trailer field).
public static final AlgorithmID sigS_ISO9796_2Withripemd160
sigS_ISO9796_2Withripemd160 signature algorithm (RSA based
ISO/IEC 9796-2 scheme using RIPEMD-160 as hash algorithm and "BC"
as trailer field).
public static final AlgorithmID sigS_ISO9796_2rndWithrsa
sigS_ISO9796_2Withrsa
signature algorithm (RSA based ISO/IEC 9796-2 scheme S2, S3 with random
number).
public static final AlgorithmID sigS_ISO9796_2rndWithsha1
sigS_ISO9796_2Withsha1
signature algorithm (RSA based ISO/IEC 9796-2 scheme with random number
using SHA-1 as hash algorithm and "BC" as trailer field).
public static final AlgorithmID sigS_ISO9796_2rndWithripemd160
sigS_ISO9796_2Withripemd160 signature algorithm (RSA based
ISO/IEC 9796-2 scheme with random number using RIPEMD-160 as hash algorithm
and "BC" as trailer field).
public static final AlgorithmID mgf1
MGF1 mask generation
function.
public static final AlgorithmID pbeWithMD5AndDES_CBC
pbeWithMD5AndDES_CBC
key-encryption algorithm as defined by PKCS#5.
public static final AlgorithmID pbeWithSHAAnd128BitRC4
pbeWithSHAAnd128BitRC4
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbeWithSHAAnd40BitRC4
pbeWithSHAAnd40BitRC4
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbeWithSHAAnd3_KeyTripleDES_CBC
pbeWithSHAAnd3_KeyTripleDES_CBC
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbeWithSHAAnd2_KeyTripleDES_CBC
pbeWithSHAAnd2_KeyTripleDES_CBC
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbeWithSHAAnd128BitRC2_CBC
pbeWithSHAAnd128BitRC2_CBC
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbeWithSHAAnd40BitRC2_CBC
pbeWithSHAAnd40BitRC2_CBC
key-encryption algorithm as defined by PKCS#12.
public static final AlgorithmID pbkdf2
PBKDF2 key-derivation function
as defined by PKCS#5 (key generator).
public static final AlgorithmID pbes2
PBES2 encryption scheme
as defined by PKCS#5, 2.0 (cipher).
public static final AlgorithmID pSpecified
pSpecified
PSourceAlgorithm.
public static final AlgorithmID md2
MD2 message digest algorithm.
public static final AlgorithmID md4
MD4 message digest algorithm.
public static final AlgorithmID md5
MD5 message digest algorithm.
public static final AlgorithmID sha
SHA message digest algorithm.
public static final AlgorithmID sha1
SHA1 message digest algorithm
which is the same as SHA.
public static final AlgorithmID gost3411
GOST-R-34.11-94 message digest
algorithm which is the same as GOST3411.
public static final AlgorithmID sha256
SHA-256 message digest
algorithm.
public static final AlgorithmID sha224
SHA-224 message digest
algorithm.
public static final AlgorithmID sha384
SHA-384 message digest
algorithm.
public static final AlgorithmID sha512
SHA-512 message digest
algorithm.
public static final AlgorithmID sha512_224
SHA-512/224 message digest
algorithm.
public static final AlgorithmID sha512_256
SHA-512/256 message digest
algorithm.
public static final AlgorithmID ripeMd160_ISO
RipeMd160 message digest
algorithm. Defined by ISO/IEC 10118.
public static final AlgorithmID ripeMd128_ISO
RipeMd128 message digest
algorithm. Defined by ISO/IEC 10118.
public static final AlgorithmID ripeMd160
RipeMd160 message digest
algorithm. Defined by TeleTrust.
public static final AlgorithmID ripeMd128
RipeMd128 message digest
algorithm. Defined by TeleTrust.
public static final AlgorithmID ripeMd256
RipeMd256 message digest
algorithm. Defined by TeleTrust.
public static final AlgorithmID hMAC_GOST
HMAC_GOSTR3411 message digest
algorithm.
public static final AlgorithmID hMAC_MD5
hMAC-SHA1 message digest
algorithm.
public static final AlgorithmID hMAC_SHA1_
hMAC-SHA1
message digest algorithm.
public static final AlgorithmID hMAC_SHA1
hMAC-SHA1 message digest
algorithm.
public static final AlgorithmID hMAC_SHA224
hMAC-SHA224 message digest
algorithm (RFC 4231).
public static final AlgorithmID hMAC_SHA256
hMAC-SHA256 message digest
algorithm (RFC 4231).
public static final AlgorithmID hMAC_SHA384
hMAC-SHA384 message digest
algorithm (RFC 4231).
public static final AlgorithmID hMAC_SHA512
hMAC-SHA512 message digest
algorithm (RFC 4231).
public static final AlgorithmID hMAC_RIPEMD160
hMAC-RIPEMD160 message digest
algorithm.
public static final AlgorithmID cms_3DES_wrap
CMS3DESwrap key wrap algorithm
for wrapping 3DES content encryption keys with 3DES key encryption keys
(RFC 2630).
public static final AlgorithmID cms_rc2_wrap
CMSRC2wrap key wrap algorithm
for wrapping RC2 content encryption keys with RC2 key encryption keys (RFC
2630).
public static final AlgorithmID cms_idea_wrap
CMSIDEAwrap key wrap algorithm
for wrapping IDEA content encryption keys with IDEA key encryption keys
(RFC 3058).
public static final AlgorithmID cms_cast5_wrap
CMSCAST128wrap key wrap
algorithm for wrapping CAST128 content encryption keys with CAST128 key
encryption keys (RFC 2984).
public static final AlgorithmID cms_aes128_wrap
CMSAESwrap key wrap algorithm
using a 128 bit AES key as key encryption key (RFC 3394).
public static final AlgorithmID cms_aes192_wrap
CMSAESwrap key wrap algorithm
using a 192 bit AES key as key encryption key (RFC 3394).
public static final AlgorithmID cms_aes256_wrap
CMSAESwrap key wrap algorithm
using a 256 AES key as key encryption key (RFC 3394).
public static final AlgorithmID cms_camellia128_wrap
CMSCamelliaWrap key wrap
algorithm using a 128 bit Camellia key as key encryption key (RFC 3657).
public static final AlgorithmID cms_camellia192_wrap
CMSCamelliaWrap key wrap
algorithm using a 192 bit Camellia key as key encryption key (RFC 3657).
public static final AlgorithmID cms_camellia256_wrap
CMSCamelliaWrap key wrap
algorithm using a 256 Camellia key as key encryption key (RFC 3657).
public static final AlgorithmID cms_HMACwith3DES_wrap
HMACwith3DESwrap key wrap
algorithm for wrapping a HMAC key with a 3DES key encryption key (RFC
3537).
public static final AlgorithmID cms_HMACwithAES_wrap
HMACwithAESwrap key wrap
algorithm for wrapping a HMAC key with a AES key encryption key (RFC 3537).
public static final AlgorithmID pwri_kek
public static final AlgorithmID zlib_compress
ZLIB compression algorithm
([RFC1950] [RFC1951]).
public static final AlgorithmID rsaesOAEP
RSAES-OAEP encryption scheme.
public static final AlgorithmID rsassaPss
RSASSA-PSS signature
algorithm.
public static final AlgorithmID whirlpool
Whirlpol message digest
algorithm.
public AlgorithmID()
null
ObjectID and null parameters.public AlgorithmID(java.lang.String objectID,
java.lang.String name)
objectID - the object identifier of the algorithm as a string; e.g.
"2.5.8.1.1"name - the name for this object identifier; e.g "rsa"public AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName)
objectID - the object identifier of the algorithm as a string; e.g.
"1.2.840.113549.3.7"name - the name for this object identifier; e.g "DES-EDE3-CBC"implementationName - the internal implementation name; e.g. "3DES/CBC/PKCS5Padding"public AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName,
java.lang.Class algorithmParameterSpec)
In addition to constructor AlgorithmID(String, String, String),
this one accepts an AlgorithmParameterSpec class. The method
getAlgorithmParameterSpec(String) uses this class as return value.
Please note that the implementation name of this AlgorithmID must match a
name of an AlgorithmParameters implementation.
objectID - the object identifier of the algorithm as a string; e.g.
"1.2.840.113549.3.7"name - the name for this object identifier; e.g "DES-EDE3-CBC"implementationName - the internal implementation name; e.g. "3DES/CBC/PKCS5Padding"algorithmParameterSpec - The preferred AlgorithmParameterSpec class to use in
getAlgorithmParameterSpec(String); e.g.
javax.crypto.spec.IvParameterSpec. May be
null.public AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName,
boolean useNULLForAbsentParameters)
An application (e.g. X.509) may require to omit the parameters field in the
AlgorihmID encoding of some specific algorithm (e.g. dsaWithSHA1,
ecdsaWithSHA1) if no parameters are set. To decide whether absent
parameters shall be encoded as ASN.1 NULL object or shall be omitted from
the encoding at all, set parameter useNULLForAbsentParameters
to true or false. Note that per default absent
parameters are encoded as NULL by the static registered AlgorithmIDs of
this class, except for those algorithms (like dsaWithSHA1, ecdsaWithSHA1) where it is
explicitly announced by the Javadoc that absent parameters are omitted.
objectID - the object identifier of the algorithm as a string; e.g.
"1.2.840.113549.3.7"name - the name for this object identifier; e.g "DES-EDE3-CBC"implementationName - the internal implementation name; e.g. "3DES/CBC/PKCS5Padding"useNULLForAbsentParameters - true if absent parameters shall be encoded as NULL,
false if absent parameters shall be omitted from the
encodingpublic AlgorithmID(java.lang.String objectID,
java.lang.String name,
java.lang.String[] implementationNames,
boolean useNULLForAbsentParameters)
This constructor allows to specify more than only one implementation
names (e.g. { "SHA1", "SHA-1", "SHA"). The first name in the array is
used as "default" implementation name, it will be returned
when calling .
The other names may be used when algorithmID.getImplementationNamesearching
for a particular AlgorithmID based on an implementation name:
AlgorithmID.getAlgorithmID(implementationName); .
objectID - the object identifier of the algorithm as a string; e.g.
"1.3.14.3.2.26"name - the name for this object identifier; e.g "SHA1"implementationNames - the implementation names; e.g. { "SHA1", "SHA-1", "SHA" }useNULLForAbsentParameters - true if absent parameters shall be encoded as NULL,
false if absent parameters shall be omitted from the
encodingpublic AlgorithmID(ObjectID algorithm)
algorithm - the ObjectID of the algorithmpublic AlgorithmID(ObjectID algorithm, ASN1Object parameter)
algorithm - the ObjectID of the algorithmparameter - the algorithm parameterspublic AlgorithmID(ASN1Object algorithmID) throws CodingException
toASN1Object() method.algorithmID - the AlgorithmID as ASN1ObjectCodingException - if the ASN1Object is no AlgorithmIDpublic AlgorithmID(DerInputStream is) throws java.io.IOException
The given DerInputStream supplies DER
encoded data that represents an already existing AlgorithmID.
is - the DerInputStream supplying the DER encoded ASN1Objectjava.io.IOException - if an I/O or decoding error occurspublic static void setDefaultEncodeAbsentParametersAsNull(boolean useNULLForAbsentParameters)
NULL
or omit the parameters field.
Algorithms (e.g. SHA1) that do not use any parameters may encode their parameters
field as ASN.1 NULL or may omit the parameters field entirely from
the encoding:
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
By default absent parameters are encoded as ASN.1 NULL. Use this
method if you want to change the default behaviour to omit the parameters
field from the encoding:
AlgorithmID.setDefaultEncodeAbsentParametersAsNull(false);
useNULLForAbsentParameters - true if absent parameters shall be encoded as NULL,
false if absent parameters shall be omitted from the
encodingpublic static boolean getDoNotIncludeParameters(AlgorithmID pkixSignatureAlgID)
sign method of any of the PKCS
X.509 related objects listed below, IAIK-JCE by default includes parameters
in the signature AlgorithmID (if parameters are created by the Signature
engine that is used for calculating the signature), except for DSA and
ECDSA algorithms with the following OIDs (the list also contains key
algorithm ids that may not be used as signature ids):
You can use method setDoNotIncludeParameters to register any further AlgorithmID for which
you do not want to have parameters included when used with the
sign method of any of the following PKIX related classes:
pkixSignatureAlgID - the PKIX Signature AlgorithmID to be checked if parameters shall
be not included when used in a PKIX X.509 certificate, crl, etc.true if no parameters shall be included
false if parameters shall be includedpublic static void setDoNotIncludeParameters(AlgorithmID pkixSignatureAlgID)
sign method of any of the PKCS
X.509 related objects listed below, IAIK-JCE by default includes parameters
in the signature AlgorithmID (if parameters are created by the Signature
engine that is used for calculating the signature), except for DSA and
ECDSA algorithms with the following OIDs (the list also contains key
algorithm ids that may not be used as signature ids):
You can use this setDoNotIncludeParameters method to register
any further AlgorithmID for which you do not want to have parameters
included when used with the sign method of any of the
following PKIX related classes:
pkixSignatureAlgID - the PKIX Signature AlgorithmID that shall not contain parameters
when used in a PKIX X.509 certificate, crl, etc.public static void setDoIncludeParameters(AlgorithmID pkixSignatureAlgID)
registered to
not contain parameters when used in PKCS certificate, crl, etc. objects.
After calling this method for a specific algorithms parameters will be
included again.pkixSignatureAlgID - the PKIX Signature AlgorithmID that shall not contain parameters
when used in a PKIX X.509 certificate, crl, etc.public static boolean changeObjectID(AlgorithmID algID, ObjectID oid)
This method may be used to allocate a new object identifier to an already existing AlgorithmID. With JDK 1.2 the SUN provider, for instance, has changed the algorithm oid of the DSA algorithm from 1.3.14.3.2.12 to 1.2.840.10040.4.1, whereas IAIK continues to use 1.3.14.3.2.12. An application wishing to use the new OID, can allocate it by using this method, e.g.:
ObjectID oid = new ObjectID("1.2.840.10040.4.1", "DSA");
AlgorithmID.changeObjectID(AlgorithmID.dsa, oid);
If you only want to change the OID string, but keep name and shortName, you
may use method changeOIDString(AlgorithmID algID, String oidString).algID - the AlgorithmID to which a new OID shall be allocatedoid - the new object identifierpublic static boolean changeOIDString(AlgorithmID algID, java.lang.String oidString)
This method may be used to allocate a new object identifier to an already existing AlgorithmID. With JDK 1.2 the SUN provider, for instance, has changed the algorithm oid of the DSA algorithm from 1.3.14.3.2.12 to 1.2.840.10040.4.1, whereas IAIK continues to use 1.3.14.3.2.12. An application wishing to use the new OID, can allocate it by using this method, e.g.:
AlgorithmID.changeOIDString(AlgorithmID.dsa, "1.2.840.10040.4.1");This method adopts any registered name and shortName from the old object identifier; and only changes the OID string. To set an entire new object identifier, use method
changeObjectID(AlgorithmID, ObjectID).algID - the AlgorithmID to which a new OID shall be allocatedoidString - the new object identifierpublic static void register(java.lang.String objectID,
java.lang.String name,
java.lang.String implementationName)
AlgorithmID.register("1.3.14.3.2.12", "DSA", "DSA");
as alternative to:
new AlgorithmID("1.3.14.3.2.12", "DSA", "DSA");
objectID - the object identifier of the algorithm as a string; e.g.
"1.2.840.113549.3.7"name - the name for this object identifier; e.g "DES-EDE3-CBC"implementationName - the internal implementation name; e.g. "3DES/CBC/PKCS5Padding"public static AlgorithmID getAlgorithmID(java.lang.String implementationName)
This method may be used to search for an AlgorithmID when the implementation name is known. To get, for instance, an AlgorithmID for "3DES/CBC/PKCS5Padding" just try:
AlgorithmID algID = AlgorithmID.getAlgorithmID("3DES/CBC/PKCS5Padding");
if (algID != null) {
...
}
implementationName - the implementation name (e.g. "3DES/CBC/PKCS5Padding") for which a
AlgorithmID shall be searchednull if no AlgorithmID for this implementation name is
registeredpublic static java.lang.String[] getImplementationNames(AlgorithmID algorithmID)
algorithmID - the AlgorithmID for which to get the registered implementation namespublic void encodeAbsentParametersAsNull(boolean useNULLForAbsentParameters)
An application (e.g. X.509) may require to omit the parameters field in the
AlgorihmID encoding of some specific algorithm (e.g. dsaWithSHA1,
ecdsaWithSHA1) if no parameters are set. This method may be used to decide
whether absent parameters shall be encoded as ASN.1 NULL object or shall be
omitted from the encoding at all. Note that per default absent parameters
are encoded as NULL by the static registered AlgorithmIDs of this class,
except for those algorithms (like dsaWithSHA1,
ecdsaWithSHA1) where it is explicitly announced by
the Javadoc that absent parameters are omitted.
useNULLForAbsentParameters - true if absent parameters shall be encoded as NULL,
false if absent parameters shall be omitted from the
encodingpublic void decode(ASN1Object algorithmID) throws CodingException
The supplied ASN1Object represents an already existing AlgorithmID that may
have been created by means of the toASN1Object()
method.
decode in interface ASN1TypealgorithmID - the AlgorithmID as ASN1ObjectCodingException - if the ASN1Object is no AlgorithmIDpublic ASN1Object toASN1Object()
toASN1Object in interface ASN1TypeSEQUENCEpublic ASN1Object toASN1Object(boolean useNULLForAbsentParameters)
useNULLForAbsentParameters - whether to encode absent parameters as NULL or omit the parameters
componentpublic java.lang.String getImplementationName()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no name for the implementationpublic java.lang.Object getInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no implementationpublic java.lang.Object getInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no implementationpublic javax.crypto.Cipher getCipherInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no Cipher implementationpublic javax.crypto.Cipher getCipherInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no Cipher implementationpublic java.security.Signature getSignatureInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no Signature implementationpublic java.security.Signature getSignatureInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no Signature implementationpublic java.security.MessageDigest getMessageDigestInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no MessageDigest implementationpublic java.security.MessageDigest getMessageDigestInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no MessageDigest implementationpublic javax.crypto.Mac getMacInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no Mac implementationpublic javax.crypto.Mac getMacInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no Mac implementationpublic javax.crypto.KeyAgreement getKeyAgreementInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no KeyAgreement implementationpublic javax.crypto.KeyAgreement getKeyAgreementInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no KeyAgreement implementationpublic java.security.KeyFactory getKeyFactoryInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no KeyFactory implementationpublic java.security.KeyFactory getKeyFactoryInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no KeyFactory implementationpublic java.security.KeyPairGenerator getKeyPairGeneratorInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no KeyPairGenerator implementationpublic java.security.KeyPairGenerator getKeyPairGeneratorInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
This method calls KeyPairGenerator.getInstance(algorithm,provider) by substituting the algorithmIDs
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no KeyPairGenerator implementationpublic javax.crypto.KeyGenerator getKeyGeneratorInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no KeyGenerator implementationpublic javax.crypto.KeyGenerator getKeyGeneratorInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
This method calls KeyGenerator.getInstance(algorithm,provider) by substituting the algorithmIDs
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no KeyGenerator implementationpublic javax.crypto.SecretKeyFactory getSecretKeyFactoryInstance()
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no SecretKeyFactory implementationpublic javax.crypto.SecretKeyFactory getSecretKeyFactoryInstance(java.lang.String provider)
throws java.security.NoSuchAlgorithmException
This method calls SecretKeyFactory.getInstance(algorithm,provider) by substituting the algorithmIDs
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no SecretKeyFactory implementationpublic MaskGenerationAlgorithm getMaskGenerationAlgorithmInstance() throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException - if there is no MaskGenerationAlgorithm implementation
available for this algorithm idpublic MaskGenerationAlgorithm getMaskGenerationAlgorithmInstance(java.lang.String provider) throws java.security.NoSuchAlgorithmException
provider - the name of the requested providerjava.security.NoSuchAlgorithmException - if there is no MaskGenerationAlgorithm implementation
available for this algorithm idpublic java.lang.String getRawImplementationName()
throws java.security.NoSuchAlgorithmException
In some situations (e.g. for instantiating a KeyGenerator,...) it might be
useful to know the implementation name of the algorithm only and not whole
the implemantation name which -- in the
case of ciphers -- may represent the whole transformation string required
when creating the corresponding Cipher object. The, for instance,
implemantation name for DES-CBC may be
"DES/CBC/PKC5Padding" which may be suitable for creating a Cipher object,
but not for creating a key generator where only "DES" is required as
returned by this method.
java.security.NoSuchAlgorithmExceptionpublic java.lang.Object clone()
AlgorithmID algID = (AlgorithmID)AlgorithmID.des_EDE_CBC.clone(); AlgorithmParameters params = ...; algID.setAlgorithmParameters(...);
clone in class java.lang.Objectpublic ObjectID getAlgorithm()
ObjectIDpublic ASN1Object getParameter()
null if no
parameters are includedpublic boolean hasParameters()
true if parameters are included that are different
from ASN.1 NULL; false otherwisepublic java.security.AlgorithmParameters getAlgorithmParameters(java.lang.String algorithm)
throws java.security.NoSuchAlgorithmException
java.security.AlgorithmParameters object.algorithm - the name of the algorithm the parameters belong tojava.security.NoSuchAlgorithmException - if there are no parameters to returnpublic java.security.AlgorithmParameters getAlgorithmParameters(java.lang.String algorithm,
java.lang.String provider)
throws java.security.NoSuchAlgorithmException
java.security.AlgorithmParameters object.algorithm - the name of the algorithm the parameters belong toprovider - the name of the cryptography provider from which the
AlgorithmParameters object should be createdjava.security.NoSuchAlgorithmException - if there are no parameters to returnpublic java.security.AlgorithmParameters getAlgorithmParameters()
throws java.security.NoSuchAlgorithmException
java.security.AlgorithmParameters object.
In contrast to method getAlgorithmParameters(String algorithm) where the name used for
instantiating the required AlgorithmParameters engine has to be supplied,
this method tries to get the name from the
raw implementation name.
null if no parameters are
includedjava.security.NoSuchAlgorithmException - if there are no parameters to returnpublic void setAlgorithmParameters(java.security.AlgorithmParameters parameters)
java.security.AlgorithmParameters object.parameters - the parameters of the algorithmpublic void setAlgorithmParameterSpec(java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidAlgorithmParameterException
AlgorithmParameterSpec object.parameters - the parameters to be setjava.security.InvalidAlgorithmParameterException - if the parameters cannot be setpublic void setAlgorithmParameterSpec(java.security.spec.AlgorithmParameterSpec parameters,
java.lang.String provider)
throws java.security.InvalidAlgorithmParameterException
AlgorithmParameterSpec object.parameters - the parameters to be setprovider - The JCA provider to use for the parameter encoding. If
null, it uses the JCA defaults.java.security.InvalidAlgorithmParameterException - if the parameters cannot be set (e.g.
are not suitable for the algorithm represented
by this AlgorithmID)public void setParameter(ASN1Object parameters)
parameters - the parameters of the algorithmpublic java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec()
throws java.security.InvalidAlgorithmParameterException
getAlgorithmParameterSpec(String) with null
as argument.java.security.spec.AlgorithmParameterSpec
object or null if the given algorithm ID does not
contain parameters.java.security.InvalidAlgorithmParameterException - If the included parameters could not be converted to an
algorithm parameter spec object.public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec(java.lang.String provider)
throws java.security.InvalidAlgorithmParameterException
java.security.spec.AlgorithmParameterSpec object. It uses the
AlgorithmParameterSpec class which has been provided to the
AlgorithmID(String, String, String, Class) constructor.provider - The JCA provider to use for the parameter parsing. If
null, it uses the JCA defaults.java.security.spec.AlgorithmParameterSpec
object or null if the given algorithm ID does not
contain parameters.java.security.InvalidAlgorithmParameterException - If the included parameters could not be converted to an
algorithm parameter spec object.public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec(java.lang.Class parameterSpecClass,
java.lang.String provider)
throws java.security.InvalidAlgorithmParameterException
AlgorithmParameterSpec
instance of the given parameterSpecClass name.provider - The JCA provider to use for the parameter parsing. If
null, it uses the JCA defaults.parameterSpecClass - the AlgorithmParameterSpec implementing class
(e.g. IvParameterSpec.class) representing the parameters of
this AlgorithmIDjava.security.spec.AlgorithmParameterSpec
object or null if the given algorithm ID does not
contain parameters.java.security.InvalidAlgorithmParameterException - If the included parameters could not be converted to an
algorithm parameter spec object or the given parameterSpecClass
is null or invalid (does not implement the
AlgorithmParameterSpec interface)public java.lang.String getName()
public boolean equals(java.lang.Object obj)
equals(obj, checkParams) if you want to
compare the parameters, too.equals in class java.lang.Objectobj - the other AlgorithmIDtrue, if the two Algorithm IDs are equal,
false otherwisepublic boolean equals(java.lang.Object obj,
boolean checkParams)
obj - the other AlgorithmIDcheckParams - whether to compare the parameter fields, tootrue, if the two AlgorithmIDs are equal,
false otherwisepublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object