Package org.mozilla.jss.crypto
Class CMACAlgorithm
- java.lang.Object
-
- org.mozilla.jss.crypto.Algorithm
-
- org.mozilla.jss.crypto.DigestAlgorithm
-
- org.mozilla.jss.crypto.CMACAlgorithm
-
public class CMACAlgorithm extends DigestAlgorithm
Algorithms for performing CMACs. These can be used to create MessageDigests.
-
-
Field Summary
Fields Modifier and Type Field Description static CMACAlgorithm
AES
CMAC AES-X.static CMACAlgorithm
AES128
static CMACAlgorithm
AES192
static CMACAlgorithm
AES256
-
Fields inherited from class org.mozilla.jss.crypto.DigestAlgorithm
MD2, MD5, SHA1, SHA256, SHA384, SHA512
-
Fields inherited from class org.mozilla.jss.crypto.Algorithm
CKM_AES_CBC, CKM_AES_CBC_PAD, CKM_AES_CMAC, CKM_AES_ECB, CKM_AES_KEY_GEN, CKM_AES_KEY_WRAP, CKM_AES_KEY_WRAP_KWP, CKM_AES_KEY_WRAP_PAD, CKM_DES_CBC_PAD, CKM_DES_KEY_GEN, CKM_DES3_CBC_PAD, CKM_DES3_ECB, CKM_DES3_KEY_GEN, CKM_DSA_KEY_PAIR_GEN, CKM_EC_KEY_PAIR_GEN, CKM_GENERIC_SECRET_KEY_GEN, CKM_NSS_AES_KEY_WRAP, CKM_NSS_AES_KEY_WRAP_PAD, CKM_NSS_SP800_108_COUNTER_KDF_DERIVE_DATA, CKM_NSS_SP800_108_DOUBLE_PIPELINE_KDF_DERIVE_DATA, CKM_NSS_SP800_108_FEEDBACK_KDF_DERIVE_DATA, CKM_PBA_SHA1_WITH_SHA1_HMAC, CKM_RC2_CBC_PAD, CKM_RC2_KEY_GEN, CKM_RC4_KEY_GEN, CKM_RSA_PKCS_KEY_PAIR_GEN, CKM_RSA_PKCS_OAEP, CKM_SHA_1_HMAC, CKM_SHA256_HMAC, CKM_SHA384_HMAC, CKM_SHA512_HMAC, CKM_SP800_108_COUNTER_KDF, CKM_SP800_108_DOUBLE_PIPELINE_KDF, CKM_SP800_108_FEEDBACK_KDF, oid, oidIndex, SEC_OID_AES_128_CBC, SEC_OID_AES_128_ECB, SEC_OID_AES_128_KEY_WRAP_KWP, SEC_OID_AES_192_CBC, SEC_OID_AES_192_ECB, SEC_OID_AES_192_KEY_WRAP_KWP, SEC_OID_AES_256_CBC, SEC_OID_AES_256_ECB, SEC_OID_AES_256_KEY_WRAP_KWP, SEC_OID_ANSIX9_DSA_SIGNATURE, SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST, SEC_OID_ANSIX962_EC_PUBLIC_KEY, SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE, SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE, SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE, SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE, SEC_OID_ANSIX962_ECDSA_SIGNATURE_SPECIFIED_DIGEST, SEC_OID_DES_CBC, SEC_OID_DES_ECB, SEC_OID_DES_EDE3_CBC, SEC_OID_HMAC_SHA256, SEC_OID_HMAC_SHA384, SEC_OID_HMAC_SHA512, SEC_OID_MD2, SEC_OID_MD5, SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_RSA_ENCRYPTION, SEC_OID_PKCS1_RSA_PSS_SIGNATURE, SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4, SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC, SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC, SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC, SEC_OID_PKCS5_PBES2, SEC_OID_PKCS5_PBKDF2, SEC_OID_PKCS5_PBMAC1, SEC_OID_RC2_CBC, SEC_OID_RC4, SEC_OID_SHA1, SEC_OID_SHA256, SEC_OID_SHA384, SEC_OID_SHA512
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CMACAlgorithm(int oidIndex, java.lang.String name, OBJECT_IDENTIFIER oid, int outputSize)
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static CMACAlgorithm
fromOID(OBJECT_IDENTIFIER oid)
Looks up the CMAC algorithm with the given OID.-
Methods inherited from class org.mozilla.jss.crypto.DigestAlgorithm
getOutputSize
-
Methods inherited from class org.mozilla.jss.crypto.Algorithm
getEnum, getParameterClass, getParameterClasses, isValidParameterObject, toOID, toString
-
-
-
-
Field Detail
-
AES
public static final CMACAlgorithm AES
CMAC AES-X. This is a Message Authentication Code that uses a symmetric key together with the AES cipher to create a form of signature. Note that we pass null for the OID here: neither NIST nor any other standards body has defined an OID for use with CMAC. Since we use a PKCS#11 backend and NSS doesn't otherwise define CMAC based on a SEC OID, we don't strictly need one. We've left the fromOID code (and oid parameter in the constructor) as other projects use them for HMACAlgorith. At such time as an OID is defined, it can be added here.
-
AES128
public static final CMACAlgorithm AES128
-
AES192
public static final CMACAlgorithm AES192
-
AES256
public static final CMACAlgorithm AES256
-
-
Constructor Detail
-
CMACAlgorithm
protected CMACAlgorithm(int oidIndex, java.lang.String name, OBJECT_IDENTIFIER oid, int outputSize)
-
-
Method Detail
-
fromOID
public static CMACAlgorithm fromOID(OBJECT_IDENTIFIER oid) throws java.security.NoSuchAlgorithmException
Looks up the CMAC algorithm with the given OID.- Parameters:
oid
- OID.- Returns:
- CMAC algorithm.
- Throws:
java.security.NoSuchAlgorithmException
- If no registered CMAC algorithm has the given OID.
-
-