You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




org.mozilla.jss.crypto
Class Algorithm

java.lang.Object
  extended by org.mozilla.jss.crypto.Algorithm
Direct Known Subclasses:
DigestAlgorithm, EncryptionAlgorithm, KeyGenAlgorithm, KeyPairAlgorithm, KeyWrapAlgorithm, SignatureAlgorithm

public class Algorithm
extends java.lang.Object

Represents a cryptographic algorithm.

See Also:
EncryptionAlgorithm, SignatureAlgorithm

Field Summary
protected static short CKM_AES_CBC
           
protected static short CKM_AES_CBC_PAD
           
protected static short CKM_AES_ECB
           
protected static short CKM_AES_KEY_GEN
           
protected static short CKM_DES_CBC_PAD
           
protected static short CKM_DES_KEY_GEN
           
protected static short CKM_DES3_CBC_PAD
           
protected static short CKM_DES3_ECB
           
protected static short CKM_DES3_KEY_GEN
           
protected static short CKM_DSA_KEY_PAIR_GEN
           
protected static short CKM_EC_KEY_PAIR_GEN
           
protected static short CKM_PBA_SHA1_WITH_SHA1_HMAC
           
protected static short CKM_RC2_CBC_PAD
           
protected static short CKM_RC2_KEY_GEN
           
protected static short CKM_RC4_KEY_GEN
           
protected static short CKM_RSA_PKCS_KEY_PAIR_GEN
           
protected static short CKM_SHA_1_HMAC
           
protected  OBJECT_IDENTIFIER oid
           
protected  int oidIndex
          Index into the SECOidTag array in Algorithm.c.
protected static short SEC_OID_ANSIX9_DSA_SIGNATURE
           
protected static short SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST
           
protected static short SEC_OID_ANSIX962_EC_PUBLIC_KEY
           
protected static short SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE
           
protected static short SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE
           
protected static short SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE
           
protected static short SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE
           
protected static short SEC_OID_DES_CBC
           
protected static short SEC_OID_DES_ECB
           
protected static short SEC_OID_DES_EDE3_CBC
           
protected static short SEC_OID_MD2
           
protected static short SEC_OID_MD5
           
protected static short SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION
           
protected static short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC
           
protected static short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4
           
protected static short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC
           
protected static short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC
           
protected static short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4
           
protected static short SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC
           
protected static short SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC
           
protected static short SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC
           
protected static short SEC_OID_RC2_CBC
           
protected static short SEC_OID_RC4
           
protected static short SEC_OID_SHA1
           
protected static short SEC_OID_SHA256
           
protected static short SEC_OID_SHA384
           
protected static short SEC_OID_SHA512
           
 
Constructor Summary
protected Algorithm(int oidIndex, java.lang.String name)
           
protected Algorithm(int oidIndex, java.lang.String name, OBJECT_IDENTIFIER oid)
           
protected Algorithm(int oidIndex, java.lang.String name, OBJECT_IDENTIFIER oid, java.lang.Class paramClass)
           
protected Algorithm(int oidIndex, java.lang.String name, OBJECT_IDENTIFIER oid, java.lang.Class[] paramClasses)
           
 
Method Summary
 java.lang.Class getParameterClass()
          Deprecated. Call getParameterClasses() instead.
 java.lang.Class[] getParameterClasses()
          The types of parameter that this algorithm expects.
 boolean isValidParameterObject(java.lang.Object o)
          Returns true if the given Object can be used as a parameter for this algorithm.
 OBJECT_IDENTIFIER toOID()
          Returns the object identifier for this algorithm.
 java.lang.String toString()
          Returns a String representation of the algorithm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

oidIndex

protected int oidIndex
Index into the SECOidTag array in Algorithm.c.


oid

protected OBJECT_IDENTIFIER oid

SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST

protected static final short SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST
See Also:
Constant Field Values

SEC_OID_PKCS1_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_RSA_ENCRYPTION
See Also:
Constant Field Values

CKM_RSA_PKCS_KEY_PAIR_GEN

protected static final short CKM_RSA_PKCS_KEY_PAIR_GEN
See Also:
Constant Field Values

CKM_DSA_KEY_PAIR_GEN

protected static final short CKM_DSA_KEY_PAIR_GEN
See Also:
Constant Field Values

SEC_OID_ANSIX9_DSA_SIGNATURE

protected static final short SEC_OID_ANSIX9_DSA_SIGNATURE
See Also:
Constant Field Values

SEC_OID_RC4

protected static final short SEC_OID_RC4
See Also:
Constant Field Values

SEC_OID_DES_ECB

protected static final short SEC_OID_DES_ECB
See Also:
Constant Field Values

SEC_OID_DES_CBC

protected static final short SEC_OID_DES_CBC
See Also:
Constant Field Values

CKM_DES_CBC_PAD

protected static final short CKM_DES_CBC_PAD
See Also:
Constant Field Values

CKM_DES3_ECB

protected static final short CKM_DES3_ECB
See Also:
Constant Field Values

SEC_OID_DES_EDE3_CBC

protected static final short SEC_OID_DES_EDE3_CBC
See Also:
Constant Field Values

CKM_DES3_CBC_PAD

protected static final short CKM_DES3_CBC_PAD
See Also:
Constant Field Values

CKM_DES_KEY_GEN

protected static final short CKM_DES_KEY_GEN
See Also:
Constant Field Values

CKM_DES3_KEY_GEN

protected static final short CKM_DES3_KEY_GEN
See Also:
Constant Field Values

CKM_RC4_KEY_GEN

protected static final short CKM_RC4_KEY_GEN
See Also:
Constant Field Values

SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC
See Also:
Constant Field Values

SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC
See Also:
Constant Field Values

SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC
See Also:
Constant Field Values

SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4

protected static final short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4
See Also:
Constant Field Values

SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4

protected static final short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4
See Also:
Constant Field Values

SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC

protected static final short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC
See Also:
Constant Field Values

SEC_OID_MD2

protected static final short SEC_OID_MD2
See Also:
Constant Field Values

SEC_OID_MD5

protected static final short SEC_OID_MD5
See Also:
Constant Field Values

SEC_OID_SHA1

protected static final short SEC_OID_SHA1
See Also:
Constant Field Values

CKM_SHA_1_HMAC

protected static final short CKM_SHA_1_HMAC
See Also:
Constant Field Values

SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC

protected static final short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC
See Also:
Constant Field Values

SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC

protected static final short SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC
See Also:
Constant Field Values

SEC_OID_RC2_CBC

protected static final short SEC_OID_RC2_CBC
See Also:
Constant Field Values

CKM_PBA_SHA1_WITH_SHA1_HMAC

protected static final short CKM_PBA_SHA1_WITH_SHA1_HMAC
See Also:
Constant Field Values

CKM_AES_KEY_GEN

protected static final short CKM_AES_KEY_GEN
See Also:
Constant Field Values

CKM_AES_ECB

protected static final short CKM_AES_ECB
See Also:
Constant Field Values

CKM_AES_CBC

protected static final short CKM_AES_CBC
See Also:
Constant Field Values

CKM_AES_CBC_PAD

protected static final short CKM_AES_CBC_PAD
See Also:
Constant Field Values

CKM_RC2_CBC_PAD

protected static final short CKM_RC2_CBC_PAD
See Also:
Constant Field Values

CKM_RC2_KEY_GEN

protected static final short CKM_RC2_KEY_GEN
See Also:
Constant Field Values

SEC_OID_SHA256

protected static final short SEC_OID_SHA256
See Also:
Constant Field Values

SEC_OID_SHA384

protected static final short SEC_OID_SHA384
See Also:
Constant Field Values

SEC_OID_SHA512

protected static final short SEC_OID_SHA512
See Also:
Constant Field Values

SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION
See Also:
Constant Field Values

SEC_OID_ANSIX962_EC_PUBLIC_KEY

protected static final short SEC_OID_ANSIX962_EC_PUBLIC_KEY
See Also:
Constant Field Values

SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE

protected static final short SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE
See Also:
Constant Field Values

CKM_EC_KEY_PAIR_GEN

protected static final short CKM_EC_KEY_PAIR_GEN
See Also:
Constant Field Values

SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE

protected static final short SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE
See Also:
Constant Field Values

SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE

protected static final short SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE
See Also:
Constant Field Values

SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE

protected static final short SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE
See Also:
Constant Field Values
Constructor Detail

Algorithm

protected Algorithm(int oidIndex,
                    java.lang.String name)
Parameters:
oidIndex - Index of the oid that this algorithm represents.
name - A String representation of the Algorithm.

Algorithm

protected Algorithm(int oidIndex,
                    java.lang.String name,
                    OBJECT_IDENTIFIER oid)
Parameters:
oidIndex - Index of the oid that this algorithm represents.
name - A String representation of the Algorithm.
oid - The object identifier for this Algorithm.

Algorithm

protected Algorithm(int oidIndex,
                    java.lang.String name,
                    OBJECT_IDENTIFIER oid,
                    java.lang.Class paramClass)

Algorithm

protected Algorithm(int oidIndex,
                    java.lang.String name,
                    OBJECT_IDENTIFIER oid,
                    java.lang.Class[] paramClasses)
Method Detail

toString

public java.lang.String toString()
Returns a String representation of the algorithm.

Overrides:
toString in class java.lang.Object

toOID

public OBJECT_IDENTIFIER toOID()
                        throws java.security.NoSuchAlgorithmException
Returns the object identifier for this algorithm.

Throws:
java.security.NoSuchAlgorithmException - If no OID is registered for this algorithm.

getParameterClass

public java.lang.Class getParameterClass()
Deprecated. Call getParameterClasses() instead.

The type of parameter that this algorithm expects. Returns null if this algorithm does not take any parameters. If the algorithm can accept more than one type of parameter, this method returns only one of them. It is better to call getParameterClasses().


getParameterClasses

public java.lang.Class[] getParameterClasses()
The types of parameter that this algorithm expects. Returns null if this algorithm does not take any parameters.


isValidParameterObject

public boolean isValidParameterObject(java.lang.Object o)
Returns true if the given Object can be used as a parameter for this algorithm.

If null is passed in, this method will return true if this algorithm takes no parameters, and false if this algorithm does take parameters.