org.mozilla.jss.crypto

Class Algorithm

Known Direct Subclasses:
DigestAlgorithm, EncryptionAlgorithm, 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_DES3_CBC_PAD
protected static short
CKM_DES3_ECB
protected static short
CKM_DES3_KEY_GEN
protected static short
CKM_DES_CBC_PAD
protected static short
CKM_DES_KEY_GEN
protected static short
CKM_DSA_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 static short
SEC_OID_ANSIX9_DSA_SIGNATURE
protected static short
SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST
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_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_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_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 OBJECT_IDENTIFIER
oid
protected int
oidIndex
Index into the SECOidTag array in Algorithm.c.

Constructor Summary

Algorithm(int oidIndex, String name)
Algorithm(int oidIndex, String name, OBJECT_IDENTIFIER oid)
Algorithm(int oidIndex, String name, OBJECT_IDENTIFIER oid, Class paramClass)
Algorithm(int oidIndex, String name, OBJECT_IDENTIFIER oid, Class[] paramClasses)

Method Summary

Class
getParameterClass()
Deprecated. Call getParameterClasses() instead.
Class[]
getParameterClasses()
The types of parameter that this algorithm expects.
boolean
isValidParameterObject(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.
String
toString()
Returns a String representation of the algorithm.

Field Details

CKM_AES_CBC

protected static final short CKM_AES_CBC
Field Value:
34

CKM_AES_CBC_PAD

protected static final short CKM_AES_CBC_PAD
Field Value:
35

CKM_AES_ECB

protected static final short CKM_AES_ECB
Field Value:
33

CKM_AES_KEY_GEN

protected static final short CKM_AES_KEY_GEN
Field Value:
32

CKM_DES3_CBC_PAD

protected static final short CKM_DES3_CBC_PAD
Field Value:
14

CKM_DES3_ECB

protected static final short CKM_DES3_ECB
Field Value:
12

CKM_DES3_KEY_GEN

protected static final short CKM_DES3_KEY_GEN
Field Value:
16

CKM_DES_CBC_PAD

protected static final short CKM_DES_CBC_PAD
Field Value:
11

CKM_DES_KEY_GEN

protected static final short CKM_DES_KEY_GEN
Field Value:
15

CKM_DSA_KEY_PAIR_GEN

protected static final short CKM_DSA_KEY_PAIR_GEN
Field Value:
6

CKM_PBA_SHA1_WITH_SHA1_HMAC

protected static final short CKM_PBA_SHA1_WITH_SHA1_HMAC
Field Value:
31

CKM_RC2_CBC_PAD

protected static final short CKM_RC2_CBC_PAD
Field Value:
36

CKM_RC2_KEY_GEN

protected static final short CKM_RC2_KEY_GEN
Field Value:
37

CKM_RC4_KEY_GEN

protected static final short CKM_RC4_KEY_GEN
Field Value:
17

CKM_RSA_PKCS_KEY_PAIR_GEN

protected static final short CKM_RSA_PKCS_KEY_PAIR_GEN
Field Value:
5

CKM_SHA_1_HMAC

protected static final short CKM_SHA_1_HMAC
Field Value:
27

SEC_OID_ANSIX9_DSA_SIGNATURE

protected static final short SEC_OID_ANSIX9_DSA_SIGNATURE
Field Value:
7

SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST

protected static final short SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST
Field Value:
3

SEC_OID_DES_CBC

protected static final short SEC_OID_DES_CBC
Field Value:
10

SEC_OID_DES_ECB

protected static final short SEC_OID_DES_ECB
Field Value:
9

SEC_OID_DES_EDE3_CBC

protected static final short SEC_OID_DES_EDE3_CBC
Field Value:
13

SEC_OID_MD2

protected static final short SEC_OID_MD2
Field Value:
24

SEC_OID_MD5

protected static final short SEC_OID_MD5
Field Value:
25

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
Field Value:
28

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
Field Value:
21

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
Field Value:
23

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
Field Value:
29

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
Field Value:
22

SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION
Field Value:
0

SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION
Field Value:
1

SEC_OID_PKCS1_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_RSA_ENCRYPTION
Field Value:
4

SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION

protected static final short SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION
Field Value:
2

SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC
Field Value:
18

SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC
Field Value:
19

SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC

protected static final short SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC
Field Value:
20

SEC_OID_RC2_CBC

protected static final short SEC_OID_RC2_CBC
Field Value:
30

SEC_OID_RC4

protected static final short SEC_OID_RC4
Field Value:
8

SEC_OID_SHA1

protected static final short SEC_OID_SHA1
Field Value:
26

oid

protected OBJECT_IDENTIFIER oid

oidIndex

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

Constructor Details

Algorithm

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

Algorithm

protected Algorithm(int oidIndex,
                    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,
                    String name,
                    OBJECT_IDENTIFIER oid,
                    Class paramClass)

Algorithm

protected Algorithm(int oidIndex,
                    String name,
                    OBJECT_IDENTIFIER oid,
                    Class[] paramClasses)

Method Details

getParameterClass

public 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 Class[] getParameterClasses()
The types of parameter that this algorithm expects. Returns null if this algorithm does not take any parameters.

isValidParameterObject

public boolean isValidParameterObject(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.


toOID

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

toString

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