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 CMACAlgorithmAESCMAC AES-X.static CMACAlgorithmAES128static CMACAlgorithmAES192static CMACAlgorithmAES256-
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_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_NSS_AES_KEY_WRAP, CKM_NSS_AES_KEY_WRAP_PAD, 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_SHA_1_HMAC, CKM_SHA256_HMAC, CKM_SHA384_HMAC, CKM_SHA512_HMAC, oid, oidIndex, SEC_OID_AES_128_CBC, SEC_OID_AES_128_ECB, SEC_OID_AES_192_CBC, SEC_OID_AES_192_ECB, SEC_OID_AES_256_CBC, SEC_OID_AES_256_ECB, 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_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 protectedCMACAlgorithm(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 CMACAlgorithmfromOID(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.
-
-