Class CryptoUtil
java.lang.Object
com.netscape.cmsutil.crypto.CryptoUtil
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Integer[]static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[]static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[]static final Stringstatic final Stringstatic final intstatic final intstatic org.mozilla.jss.asn1.OBJECT_IDENTIFIERstatic final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[]static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanarraysEqual(byte[] bytes, byte[] ints) static byte[]static Stringbase64Encode(byte[] bytes) static Stringbyte2string(byte[] id) Converts any length byte array into a signed, variable-length hexadecimal number.static char[]bytesToChars(byte[] bytes) static StringcertFormat(String content) static byte[]charsToBytes(char[] chars) static booleancompare(byte[] src, byte[] dest) Compares 2 byte arrays to see if they are the same.static org.mozilla.jss.crypto.SymmetricKeycreateAESSessionKeyOnInternal(int keySize) static org.mozilla.jss.pkix.primitive.AVAstatic org.mozilla.jss.crypto.SymmetricKeystatic byte[]createEncodedPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, char[] data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static byte[]createEncodedPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static byte[]createEncodedPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static org.mozilla.jss.pkix.cms.EnvelopedDatacreateEnvelopedData(byte[] encContent, byte[] encSymKey) for CMC encryptedPOPstatic org.mozilla.jss.netscape.security.x509.KeyIdentifiercreateKeyIdentifier(KeyPair keypair) static org.mozilla.jss.pkix.primitive.NamecreateName(String dn, boolean encodingEnabled) static org.mozilla.jss.util.PasswordcreatePasswordFromBytes(byte[] bytes) Create a jss Password object from a provided byte array.static org.mozilla.jss.netscape.security.pkcs.PKCS10createPKCS10Request(String subjectName, boolean encodeSubj, KeyPair keyPair, String alg, org.mozilla.jss.netscape.security.x509.Extensions exts) Creates a PKCS #10 request.static org.mozilla.jss.pkix.crmf.PKIArchiveOptionscreatePKIArchiveOptions(byte[] session_data, byte[] key_data, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static org.mozilla.jss.pkix.crmf.PKIArchiveOptionscreatePKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, char[] data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static org.mozilla.jss.pkix.crmf.PKIArchiveOptionscreatePKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) static voidcreateSharedSecret(String nickname) static voidcreateSharedSecret(String nickname, org.mozilla.jss.crypto.KeyGenAlgorithm alg, int keySize) static org.mozilla.jss.crypto.SignaturecreateSigner(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SignatureAlgorithm signatureAlgorithm, KeyPair keyPair) static org.mozilla.jss.netscape.security.x509.X509CertInfocreateX509CertInfo(org.mozilla.jss.netscape.security.x509.X509Key x509key, BigInteger serialno, org.mozilla.jss.netscape.security.x509.CertificateIssuerName issuerName, org.mozilla.jss.netscape.security.x509.X500Name subjectName, Date notBefore, Date notAfter, String alg, org.mozilla.jss.netscape.security.x509.CertificateExtensions extensions) Creates a Certificate template.static org.mozilla.jss.netscape.security.x509.X509KeycreateX509Key(PublicKey publicKey) static byte[]decodeKeyID(String id) Converts NSS key ID from a signed, variable-length hexadecimal number into a 20 byte array, which will be identical to the original byte array.static byte[]decryptUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.IVParameterSpec ivspec, byte[] encryptedData, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm) ///////////////////////////////////////////////////////////////////////////////////////////static voiddeleteCertificates(String nickname) Deletes all certificates by a nickname.static voiddeleteCertificates(String nickname, boolean removeKey) static voiddeletePrivateKey(org.mozilla.jss.crypto.PrivateKey prikey) Deletes a private key.static voiddeleteSharedSecret(String nickname) static voiddeleteUserCertificates(String nickname) Deletes user certificates by a nickname.static StringencodeKeyID(byte[] keyID) Converts NSS key ID from a 20 byte array into a signed, variable-length hexadecimal number (to maintain compatibility with byte2string()).static byte[]encodePKIArchiveOptions(org.mozilla.jss.pkix.crmf.PKIArchiveOptions opts) static byte[]encryptSecret(org.mozilla.jss.crypto.CryptoToken token, byte[] secret, org.mozilla.jss.crypto.IVParameterSpec iv, org.mozilla.jss.crypto.SymmetricKey key, org.mozilla.jss.crypto.EncryptionAlgorithm algorithm) static byte[]encryptUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey wrappingKey, byte[] data, org.mozilla.jss.crypto.EncryptionAlgorithm alg, org.mozilla.jss.crypto.IVParameterSpec ivspec) static List<byte[]> exportSharedSecret(String nickname, X509Certificate wrappingCert, org.mozilla.jss.crypto.SymmetricKey wrappingKey) static List<byte[]> exportSharedSecret(String nickname, X509Certificate wrappingCert, org.mozilla.jss.crypto.SymmetricKey wrappingKey, boolean useOAEPKeyWrap) static List<byte[]> exportSharedSecretWithAES(String nickname, X509Certificate wrappingCert, org.mozilla.jss.crypto.SymmetricKey wrappingKey, boolean useOAEPKeyWrap) static org.mozilla.jss.crypto.PrivateKeyfindPrivateKey(byte[] id) Finds private key by key ID in all tokens.static org.mozilla.jss.crypto.PrivateKeyfindPrivateKey(String nickname) Finds private key by cert nickname.static org.mozilla.jss.crypto.PrivateKeyfindPrivateKey(org.mozilla.jss.crypto.CryptoToken token, byte[] id) Finds private key by key ID in specified token.static KeyPairgenerateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, String curveName) static KeyPairgenerateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, String curveName, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) Generate an ECC key pair.static KeyPairgenerateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, String curveName, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) static org.mozilla.jss.crypto.SymmetricKeygenerateKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.KeyGenAlgorithm alg, int keySize, org.mozilla.jss.crypto.SymmetricKey.Usage[] usages, boolean temporary) static org.mozilla.jss.crypto.SymmetricKeygenerateKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.KeyGenAlgorithm alg, int keySize, org.mozilla.jss.crypto.SymmetricKey.Usage[] usages, boolean temporary, Boolean sensitive) static byte[]generateKeyIdentifier(byte[] rawKey) static byte[]generateKeyIdentifier(byte[] rawKey, String alg) static KeyPairgenerateMLDSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) Generates an MLDSA key pair.static KeyPairgenerateRSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize) static KeyPairgenerateRSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) Generates an RSA key pair.static KeyPairgenerateRSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) static org.mozilla.jss.crypto.SymmetricKey.Usage[]generateSymmetricKeyUsage(String usage) static org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[]generateUsage(String usage) static org.mozilla.jss.netscape.security.x509.X509CertImpl[]Retrieves all user certificates from all tokens.static org.mozilla.jss.crypto.CryptoTokengetCryptoToken(String name) Retrieves handle to a crypto token.static org.mozilla.jss.pkix.primitive.AlgorithmIdentifierstatic StringThe following are convenience routines for quick preliminary feature development or test programs that would just take the defaultsstatic byte[]getDesParity(byte[] key) static String[]getECKeyCurve(org.mozilla.jss.netscape.security.x509.X509Key key) static org.mozilla.jss.netscape.security.x509.ExtensiongetExtensionFromPKCS10(org.mozilla.jss.netscape.security.pkcs.PKCS10 pkcs10, String extnName) static Enumeration<org.mozilla.jss.crypto.CryptoToken> Retrieves handle to a key store token.static org.mozilla.jss.asn1.OBJECT_IDENTIFIERgetHashAlgorithmOID(String name) getHashAlgorithmOID returns OID of the hashing algorithm namestatic StringgetHMACAlgName(String name) Maps from HMACAlgorithm name to JSS Provider HMAC Alg name.static org.mozilla.jss.asn1.OBJECT_IDENTIFIERgetHMACAlgorithmOID(String name) getHMACAlgorithmOID returns OID of the HMAC algorithm namestatic Stringmaps from HMACAlgorithm name to FIPS 180-2 MessageDigest algorithm namestatic org.mozilla.jss.crypto.CryptoTokengetKeyStorageToken(String name) Retrieves handle to a key store token.static byte[]getModulus(PublicKey pubk) static StringgetNameFromHashAlgorithm(org.mozilla.jss.pkix.primitive.AlgorithmIdentifier ai) getNameFromHashAlgorithm returns the hashing algorithm name from input Algorithmstatic byte[]getNonceData(int size) Generates a nonce_iv for padding.static org.mozilla.jss.asn1.OBJECT_IDENTIFIERgetOID(org.mozilla.jss.crypto.KeyWrapAlgorithm kwAlg) static byte[]getPublicExponent(PublicKey pubk) static SecureRandomstatic StringgetSKIString(org.mozilla.jss.netscape.security.x509.X509CertImpl cert) static org.mozilla.jss.crypto.SymmetricKeygetSymKeyByName(org.mozilla.jss.crypto.CryptoToken token, String name) static org.mozilla.jss.netscape.security.util.WrappingParamsgetWrappingParams(org.mozilla.jss.crypto.KeyWrapAlgorithm kwAlg, byte[] iv, boolean useOAEP) static X509Certificate[]getX509CertificateFromPKCS7(byte[] b) static byte[]hexString2Bytes(String string) Converts string containing pairs of characters in the range of '0' to '9', 'a' to 'f' to an array of bytes such that each pair of characters in the string represents an individual bytestatic voidimportCertificateChain(byte[] bytes) static KeyimportHmacSha1Key(byte[] key) Deprecated, for removal: This API element is subject to removal in a future version.static org.mozilla.jss.crypto.X509Certificate[]importPKCS7(org.mozilla.jss.netscape.security.pkcs.PKCS7 pkcs7) static org.mozilla.jss.crypto.X509Certificate[]importPKCS7(org.mozilla.jss.netscape.security.pkcs.PKCS7 pkcs7, String nickname, String trustFlags) static org.mozilla.jss.crypto.PrivateKeyimportPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.PrivateKey unwrappingKey, PublicKey pubkey, byte[] data, boolean useOAEPKeyWrap) static voidimportSharedSecret(byte[] wrappedSessionKey, byte[] wrappedSharedSecret, String subsystemCertNickname, String sharedSecretNickname) static org.mozilla.jss.crypto.X509CertificateimportUserCertificate(byte[] bytes, String nickname) Imports a user certificate.static org.mozilla.jss.crypto.X509CertificateimportUserCertificateChain(String c, String nickname) Imports a PKCS#7 certificate chain that includes the user certificate, and trusts the certificate.static booleanisCertTrusted(org.mozilla.jss.pkcs11.PK11Cert cert) To certificate server point of view, SSL trust is what we referring.static booleanisECCKey(org.mozilla.jss.netscape.security.x509.X509Key key) static booleanstatic booleanisInternalToken(String name) static booleanisTrust(int flag) static StringmapSignatureAlgorithmToInternalName(org.mozilla.jss.crypto.SignatureAlgorithm alg) static Stringstatic Stringstatic voidobscureBytes(byte[] memory, String method) static voidobscureChars(char[] memory) static Stringstatic voidsetClientCiphers(String list) static voidsetClientCiphers(org.mozilla.jss.ssl.SSLSocket soc, String list) static voidstatic voidsetSSLCipher(String name, boolean enabled) static voidsetSSLCipher(org.mozilla.jss.ssl.SSLSocket soc, String name, boolean enabled) static voidsetSSLCiphers(String ciphers) static voidsetTrustFlags(org.mozilla.jss.crypto.X509Certificate cert, String trustFlags) static booleansharedSecretExists(String nickname) static org.mozilla.jss.netscape.security.x509.X509CertImplsignCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo, String alg) Signs certificate.static org.mozilla.jss.netscape.security.x509.X509CertImplsignCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo, org.mozilla.jss.crypto.SignatureAlgorithm signingAlgorithm) static org.mozilla.jss.netscape.security.x509.X509CertImplsignECCCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo) static byte[]string2byte(String id) Converts a signed, variable-length hexadecimal number into a byte array, which may not be identical to the original byte array.static Stringstrips out the begin and end certificate bracketsstatic voidtrustAuditSigningCert(org.mozilla.jss.crypto.X509Certificate cert) static voidtrustCACert(org.mozilla.jss.crypto.X509Certificate cert) static voidtrustCert(org.mozilla.jss.pkcs11.PK11Cert cert) Trusts a certificate.static voidtrustCertByNickname(String nickname) Trusts a certificate by nickname.static voidstatic voidunsetSSLCiphers(org.mozilla.jss.ssl.SSLSocket soc) static voidunTrustCert(org.mozilla.jss.pkcs11.PK11Cert cert) static org.mozilla.jss.crypto.PrivateKeyunwrap(org.mozilla.jss.crypto.CryptoToken token, PublicKey pubKey, boolean temporary, org.mozilla.jss.crypto.SymmetricKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, org.mozilla.jss.crypto.IVParameterSpec wrapIV) static org.mozilla.jss.crypto.SymmetricKeyunwrap(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey.Type keyType, int strength, org.mozilla.jss.crypto.SymmetricKey.Usage usage, org.mozilla.jss.crypto.PrivateKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm) static org.mozilla.jss.crypto.SymmetricKeyunwrap(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey.Type keyType, int strength, org.mozilla.jss.crypto.SymmetricKey.Usage usage, org.mozilla.jss.crypto.SymmetricKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, org.mozilla.jss.crypto.IVParameterSpec wrappingIV) static org.mozilla.jss.crypto.SymmetricKeyunwrapAESSKeyFromBytes(org.mozilla.jss.crypto.CryptoToken token, byte[] inputKeyArray, boolean isPerm) static org.mozilla.jss.crypto.SymmetricKeyunwrapDESKeyFromBytes(org.mozilla.jss.crypto.CryptoToken token, byte[] inputKeyArray, boolean isPerm) static byte[]unwrapUsingPassphrase(byte[] wrappedRecoveredKey, String recoveryPassphrase) static byte[]wrapSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey sk) static byte[]wrapUsingPublicKey(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey data, org.mozilla.jss.crypto.KeyWrapAlgorithm alg) static byte[]wrapUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.crypto.IVParameterSpec ivspec, org.mozilla.jss.crypto.KeyWrapAlgorithm alg) static byte[]wrapUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey data, org.mozilla.jss.crypto.IVParameterSpec ivspec, org.mozilla.jss.crypto.KeyWrapAlgorithm alg)
-
Field Details
-
KEY_ID_LENGTH
public static final int KEY_ID_LENGTH- See Also:
-
INTERNAL_TOKEN_NAME
- See Also:
-
INTERNAL_TOKEN_FULL_NAME
- See Also:
-
LINE_COUNT
public static final int LINE_COUNT- See Also:
-
ECDHE_USAGES_MASK
public static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] ECDHE_USAGES_MASK -
ECDH_USAGES_MASK
public static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] ECDH_USAGES_MASK -
RSA_KEYPAIR_USAGES
public static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] RSA_KEYPAIR_USAGES -
RSA_KEYPAIR_USAGES_MASK
public static final org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] RSA_KEYPAIR_USAGES_MASK -
clientECCiphers
-
clientECCipherList
-
ecOIDs
-
RSA_ENCRYPTION
public static org.mozilla.jss.asn1.OBJECT_IDENTIFIER RSA_ENCRYPTION
-
-
Method Details
-
arraysEqual
public static boolean arraysEqual(byte[] bytes, byte[] ints) -
isInternalToken
-
getCryptoToken
public static org.mozilla.jss.crypto.CryptoToken getCryptoToken(String name) throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.NoSuchTokenException Retrieves handle to a crypto token.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.NoSuchTokenException
-
getKeyStorageToken
public static org.mozilla.jss.crypto.CryptoToken getKeyStorageToken(String name) throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.NoSuchTokenException Retrieves handle to a key store token.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.NoSuchTokenException
-
getExternalTokens
public static Enumeration<org.mozilla.jss.crypto.CryptoToken> getExternalTokens() throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.NoSuchTokenExceptionRetrieves handle to a key store token.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.NoSuchTokenException
-
generateRSAKeyPair
-
generateRSAKeyPair
-
generateRSAKeyPair
public static KeyPair generateRSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) throws Exception Generates an RSA key pair.- Throws:
Exception
-
generateMLDSAKeyPair
public static KeyPair generateMLDSAKeyPair(org.mozilla.jss.crypto.CryptoToken token, int keySize, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) throws Exception Generates an MLDSA key pair.- Throws:
Exception
-
isECCKey
public static boolean isECCKey(org.mozilla.jss.netscape.security.x509.X509Key key) -
generateECCKeyPair
-
generateECCKeyPair
-
generateECCKeyPair
public static KeyPair generateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, String curveName, Boolean temporary, Boolean sensitive, Boolean extractable, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usages, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usagesMask) throws Exception Generate an ECC key pair. temporary, sensitive, extractable, and usages are per defined in JSS pkcs11/PK11KeyPairGenerator.java- Throws:
Exception
-
setClientCiphers
- Throws:
SocketException
-
setClientCiphers
public static void setClientCiphers(org.mozilla.jss.ssl.SSLSocket soc, String list) throws SocketException - Throws:
SocketException
-
setSSLCiphers
- Throws:
SocketException
-
setSSLCipher
public static void setSSLCipher(org.mozilla.jss.ssl.SSLSocket soc, String name, boolean enabled) throws SocketException - Throws:
SocketException
-
setSSLCipher
- Throws:
SocketException
-
setDefaultSSLCiphers
- Throws:
SocketException
-
unsetSSLCiphers
- Throws:
SocketException
-
unsetSSLCiphers
- Throws:
SocketException
-
getModulus
-
getPublicExponent
-
base64Encode
- Throws:
IOException
-
base64Decode
-
reqFormat
-
certFormat
-
stripCertBrackets
-
normalizeCertAndReq
-
normalizeCertStr
-
importPKCS7
-
importPKCS7
-
importCertificateChain
-
createX509Key
public static org.mozilla.jss.netscape.security.x509.X509Key createX509Key(PublicKey publicKey) throws InvalidKeyException - Throws:
InvalidKeyException
-
createX509CertInfo
public static org.mozilla.jss.netscape.security.x509.X509CertInfo createX509CertInfo(org.mozilla.jss.netscape.security.x509.X509Key x509key, BigInteger serialno, org.mozilla.jss.netscape.security.x509.CertificateIssuerName issuerName, org.mozilla.jss.netscape.security.x509.X500Name subjectName, Date notBefore, Date notAfter, String alg, org.mozilla.jss.netscape.security.x509.CertificateExtensions extensions) throws IOException, CertificateException, NoSuchAlgorithmException Creates a Certificate template. -
signECCCert
public static org.mozilla.jss.netscape.security.x509.X509CertImpl signECCCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo) throws Exception - Throws:
Exception
-
signCert
public static org.mozilla.jss.netscape.security.x509.X509CertImpl signCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo, String alg) throws Exception Signs certificate.- Throws:
Exception
-
signCert
public static org.mozilla.jss.netscape.security.x509.X509CertImpl signCert(PrivateKey privateKey, org.mozilla.jss.netscape.security.x509.X509CertInfo certInfo, org.mozilla.jss.crypto.SignatureAlgorithm signingAlgorithm) throws Exception - Throws:
Exception
-
createPKCS10Request
-
createSigner
-
isEncoded
-
createAVA
-
createName
-
createKeyIdentifier
public static org.mozilla.jss.netscape.security.x509.KeyIdentifier createKeyIdentifier(KeyPair keypair) throws InvalidKeyException - Throws:
InvalidKeyException
-
generateKeyIdentifier
public static byte[] generateKeyIdentifier(byte[] rawKey) -
generateKeyIdentifier
-
getSKIString
public static String getSKIString(org.mozilla.jss.netscape.security.x509.X509CertImpl cert) throws IOException - Throws:
IOException
-
getExtensionFromPKCS10
public static org.mozilla.jss.netscape.security.x509.Extension getExtensionFromPKCS10(org.mozilla.jss.netscape.security.pkcs.PKCS10 pkcs10, String extnName) throws IOException, CertificateException - Throws:
IOExceptionCertificateException
-
unTrustCert
public static void unTrustCert(org.mozilla.jss.pkcs11.PK11Cert cert) -
trustCertByNickname
public static void trustCertByNickname(String nickname) throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.crypto.TokenException Trusts a certificate by nickname.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.crypto.TokenException
-
trustCert
public static void trustCert(org.mozilla.jss.pkcs11.PK11Cert cert) Trusts a certificate. -
setTrustFlags
-
trustCACert
public static void trustCACert(org.mozilla.jss.crypto.X509Certificate cert) -
trustAuditSigningCert
public static void trustAuditSigningCert(org.mozilla.jss.crypto.X509Certificate cert) -
isCertTrusted
public static boolean isCertTrusted(org.mozilla.jss.pkcs11.PK11Cert cert) To certificate server point of view, SSL trust is what we referring. -
isTrust
public static boolean isTrust(int flag) -
generateKey
-
generateKey
-
compare
public static boolean compare(byte[] src, byte[] dest) Compares 2 byte arrays to see if they are the same. -
byte2string
Converts any length byte array into a signed, variable-length hexadecimal number. -
string2byte
Converts a signed, variable-length hexadecimal number into a byte array, which may not be identical to the original byte array. -
encodeKeyID
Converts NSS key ID from a 20 byte array into a signed, variable-length hexadecimal number (to maintain compatibility with byte2string()). -
decodeKeyID
Converts NSS key ID from a signed, variable-length hexadecimal number into a 20 byte array, which will be identical to the original byte array.- Throws:
org.apache.commons.codec.DecoderException
-
hexString2Bytes
Converts string containing pairs of characters in the range of '0' to '9', 'a' to 'f' to an array of bytes such that each pair of characters in the string represents an individual byte -
bytesToChars
public static char[] bytesToChars(byte[] bytes) -
charsToBytes
public static byte[] charsToBytes(char[] chars) -
createPasswordFromBytes
public static org.mozilla.jss.util.Password createPasswordFromBytes(byte[] bytes) Create a jss Password object from a provided byte array. -
findPrivateKey
-
findPrivateKey
-
findPrivateKey
-
getAllUserCerts
public static org.mozilla.jss.netscape.security.x509.X509CertImpl[] getAllUserCerts() throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.crypto.TokenExceptionRetrieves all user certificates from all tokens.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.crypto.TokenException
-
deletePrivateKey
public static void deletePrivateKey(org.mozilla.jss.crypto.PrivateKey prikey) throws org.mozilla.jss.crypto.TokenException Deletes a private key.- Throws:
org.mozilla.jss.crypto.TokenException
-
deleteCertificates
public static void deleteCertificates(String nickname) throws org.mozilla.jss.crypto.TokenException, org.mozilla.jss.crypto.ObjectNotFoundException, org.mozilla.jss.crypto.NoSuchItemOnTokenException, org.mozilla.jss.NotInitializedException Deletes all certificates by a nickname.- Throws:
org.mozilla.jss.crypto.TokenExceptionorg.mozilla.jss.crypto.ObjectNotFoundExceptionorg.mozilla.jss.crypto.NoSuchItemOnTokenExceptionorg.mozilla.jss.NotInitializedException
-
deleteCertificates
public static void deleteCertificates(String nickname, boolean removeKey) throws org.mozilla.jss.crypto.TokenException, org.mozilla.jss.crypto.ObjectNotFoundException, org.mozilla.jss.crypto.NoSuchItemOnTokenException, org.mozilla.jss.NotInitializedException - Throws:
org.mozilla.jss.crypto.TokenExceptionorg.mozilla.jss.crypto.ObjectNotFoundExceptionorg.mozilla.jss.crypto.NoSuchItemOnTokenExceptionorg.mozilla.jss.NotInitializedException
-
deleteUserCertificates
public static void deleteUserCertificates(String nickname) throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.crypto.TokenException Deletes user certificates by a nickname.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.crypto.TokenException
-
importUserCertificateChain
public static org.mozilla.jss.crypto.X509Certificate importUserCertificateChain(String c, String nickname) throws org.mozilla.jss.NotInitializedException, org.mozilla.jss.NicknameConflictException, org.mozilla.jss.UserCertConflictException, org.mozilla.jss.crypto.NoSuchItemOnTokenException, org.mozilla.jss.crypto.TokenException, CertificateEncodingException Imports a PKCS#7 certificate chain that includes the user certificate, and trusts the certificate.- Throws:
org.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.NicknameConflictExceptionorg.mozilla.jss.UserCertConflictExceptionorg.mozilla.jss.crypto.NoSuchItemOnTokenExceptionorg.mozilla.jss.crypto.TokenExceptionCertificateEncodingException
-
importUserCertificate
public static org.mozilla.jss.crypto.X509Certificate importUserCertificate(byte[] bytes, String nickname) throws org.mozilla.jss.NotInitializedException, CertificateEncodingException, org.mozilla.jss.crypto.NoSuchItemOnTokenException, org.mozilla.jss.crypto.TokenException, org.mozilla.jss.NicknameConflictException, org.mozilla.jss.UserCertConflictException Imports a user certificate.- Throws:
org.mozilla.jss.NotInitializedExceptionCertificateEncodingExceptionorg.mozilla.jss.crypto.NoSuchItemOnTokenExceptionorg.mozilla.jss.crypto.TokenExceptionorg.mozilla.jss.NicknameConflictExceptionorg.mozilla.jss.UserCertConflictException
-
getX509CertificateFromPKCS7
- Throws:
IOException
-
getNonceData
Generates a nonce_iv for padding.- Throws:
GeneralSecurityException
-
getRandomNumberGenerator
- Throws:
GeneralSecurityException
-
obscureChars
public static void obscureChars(char[] memory) -
obscureBytes
-
unwrapUsingPassphrase
public static byte[] unwrapUsingPassphrase(byte[] wrappedRecoveredKey, String recoveryPassphrase) throws IOException, org.mozilla.jss.asn1.InvalidBERException, InvalidKeyException, IllegalStateException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, org.mozilla.jss.NotInitializedException, org.mozilla.jss.crypto.TokenException, org.mozilla.jss.crypto.IllegalBlockSizeException, BadPaddingException - Throws:
IOExceptionorg.mozilla.jss.asn1.InvalidBERExceptionInvalidKeyExceptionIllegalStateExceptionNoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionorg.mozilla.jss.NotInitializedExceptionorg.mozilla.jss.crypto.TokenExceptionorg.mozilla.jss.crypto.IllegalBlockSizeExceptionBadPaddingException
-
encryptSecret
public static byte[] encryptSecret(org.mozilla.jss.crypto.CryptoToken token, byte[] secret, org.mozilla.jss.crypto.IVParameterSpec iv, org.mozilla.jss.crypto.SymmetricKey key, org.mozilla.jss.crypto.EncryptionAlgorithm algorithm) throws NoSuchAlgorithmException, org.mozilla.jss.crypto.TokenException, InvalidKeyException, InvalidAlgorithmParameterException, org.mozilla.jss.crypto.IllegalBlockSizeException, BadPaddingException - Throws:
NoSuchAlgorithmExceptionorg.mozilla.jss.crypto.TokenExceptionInvalidKeyExceptionInvalidAlgorithmParameterExceptionorg.mozilla.jss.crypto.IllegalBlockSizeExceptionBadPaddingException
-
wrapSymmetricKey
-
createPKIArchiveOptions
public static org.mozilla.jss.pkix.crmf.PKIArchiveOptions createPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) throws Exception - Throws:
Exception
-
createEncodedPKIArchiveOptions
public static byte[] createEncodedPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) throws Exception - Throws:
Exception
-
createEncodedPKIArchiveOptions
public static byte[] createEncodedPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) throws Exception - Throws:
Exception
-
createPKIArchiveOptions
public static org.mozilla.jss.pkix.crmf.PKIArchiveOptions createPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, PublicKey wrappingKey, char[] data, org.mozilla.jss.netscape.security.util.WrappingParams params, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) throws Exception - Throws:
Exception
-
createEncodedPKIArchiveOptions
-
createPKIArchiveOptions
public static org.mozilla.jss.pkix.crmf.PKIArchiveOptions createPKIArchiveOptions(byte[] session_data, byte[] key_data, org.mozilla.jss.pkix.primitive.AlgorithmIdentifier aid) -
encodePKIArchiveOptions
-
importPKIArchiveOptions
public static org.mozilla.jss.crypto.PrivateKey importPKIArchiveOptions(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.PrivateKey unwrappingKey, PublicKey pubkey, byte[] data, boolean useOAEPKeyWrap) throws org.mozilla.jss.asn1.InvalidBERException, Exception - Throws:
org.mozilla.jss.asn1.InvalidBERExceptionException
-
createDes3SessionKeyOnInternal
-
createAESSessionKeyOnInternal
-
getSymKeyByName
-
getECcurves
-
getECKeyCurve
-
decryptUsingSymmetricKey
public static byte[] decryptUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.IVParameterSpec ivspec, byte[] encryptedData, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm) throws Exception ///////////////////////////////////////////////////////////////////////////////////////////- Throws:
Exception
-
encryptUsingSymmetricKey
-
getWrappingParams
-
wrapUsingSymmetricKey
public static byte[] wrapUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.SymmetricKey data, org.mozilla.jss.crypto.IVParameterSpec ivspec, org.mozilla.jss.crypto.KeyWrapAlgorithm alg) throws Exception - Throws:
Exception
-
wrapUsingSymmetricKey
public static byte[] wrapUsingSymmetricKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey wrappingKey, org.mozilla.jss.crypto.PrivateKey data, org.mozilla.jss.crypto.IVParameterSpec ivspec, org.mozilla.jss.crypto.KeyWrapAlgorithm alg) throws Exception - Throws:
Exception
-
wrapUsingPublicKey
-
unwrap
public static org.mozilla.jss.crypto.SymmetricKey unwrap(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey.Type keyType, int strength, org.mozilla.jss.crypto.SymmetricKey.Usage usage, org.mozilla.jss.crypto.SymmetricKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, org.mozilla.jss.crypto.IVParameterSpec wrappingIV) throws Exception - Throws:
Exception
-
unwrap
public static org.mozilla.jss.crypto.SymmetricKey unwrap(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey.Type keyType, int strength, org.mozilla.jss.crypto.SymmetricKey.Usage usage, org.mozilla.jss.crypto.PrivateKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm) throws Exception - Throws:
Exception
-
unwrap
public static org.mozilla.jss.crypto.PrivateKey unwrap(org.mozilla.jss.crypto.CryptoToken token, PublicKey pubKey, boolean temporary, org.mozilla.jss.crypto.SymmetricKey wrappingKey, byte[] wrappedData, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, org.mozilla.jss.crypto.IVParameterSpec wrapIV) throws Exception - Throws:
Exception
-
unwrapAESSKeyFromBytes
-
unwrapDESKeyFromBytes
-
createEnvelopedData
-
getDefaultHashAlgName
The following are convenience routines for quick preliminary feature development or test programs that would just take the defaults -
getDefaultHashAlg
-
importHmacSha1Key
@Deprecated(since="11.0.1", forRemoval=true) public static Key importHmacSha1Key(byte[] key) throws Exception Deprecated, for removal: This API element is subject to removal in a future version.importHmacSha1Key returns a key based on a byte array, which is originally a password. Used for the HMAC Digest algorithms.- Parameters:
key- the byte array representing the original password or secret.- Returns:
- The JSS SymKey
- Throws:
Exception
-
getHMACtoMessageDigestName
-
getHMACAlgorithmOID
public static org.mozilla.jss.asn1.OBJECT_IDENTIFIER getHMACAlgorithmOID(String name) throws NoSuchAlgorithmException getHMACAlgorithmOID returns OID of the HMAC algorithm name- Parameters:
name- name of the HMAC algorithm- Returns:
- OID of the HMAC algorithm
- Throws:
NoSuchAlgorithmException
-
getHashAlgorithmOID
public static org.mozilla.jss.asn1.OBJECT_IDENTIFIER getHashAlgorithmOID(String name) throws NoSuchAlgorithmException getHashAlgorithmOID returns OID of the hashing algorithm name- Parameters:
name- name of the hashing algorithm- Returns:
- OID of the hashing algorithm
- Throws:
NoSuchAlgorithmException
-
getNameFromHashAlgorithm
public static String getNameFromHashAlgorithm(org.mozilla.jss.pkix.primitive.AlgorithmIdentifier ai) throws NoSuchAlgorithmException getNameFromHashAlgorithm returns the hashing algorithm name from input Algorithm- Parameters:
ai- the hashing algorithm AlgorithmIdentifier- Returns:
- name of the hashing algorithm
- Throws:
NoSuchAlgorithmException
-
getHMACAlgName
-
getOID
public static org.mozilla.jss.asn1.OBJECT_IDENTIFIER getOID(org.mozilla.jss.crypto.KeyWrapAlgorithm kwAlg) throws NoSuchAlgorithmException - Throws:
NoSuchAlgorithmException
-
mapSignatureAlgorithmToInternalName
public static String mapSignatureAlgorithmToInternalName(org.mozilla.jss.crypto.SignatureAlgorithm alg) throws NoSuchAlgorithmException - Throws:
NoSuchAlgorithmException
-
getDesParity
-
generateUsage
-
generateSymmetricKeyUsage
-