com.netscape.cmsutil.crypto
Class CryptoUtil

java.lang.Object
  extended by com.netscape.cmsutil.crypto.CryptoUtil

public class CryptoUtil
extends java.lang.Object


Field Summary
static java.lang.String CERT_BEGIN_HEADING
           
static java.lang.String CERT_END_HEADING
           
static java.lang.String CERTREQ_BEGIN_HEADING
           
static java.lang.String CERTREQ_END_HEADING
           
static int LINE_COUNT
           
 
Constructor Summary
CryptoUtil()
           
 
Method Summary
static boolean arraysEqual(byte[] bytes, byte[] ints)
           
static byte[] base64Decode(java.lang.String s)
           
static java.lang.String base64Encode(byte[] bytes)
           
static java.lang.String byte2string(byte[] id)
           
static java.lang.String certFormat(java.lang.String content)
           
static boolean compare(byte[] src, byte[] dest)
          Compares 2 byte arrays to see if they are the same.
static netscape.security.x509.X509Key convertPublicKeyToX509Key(java.security.PublicKey pubk)
           
static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName, java.security.KeyPair keyPair)
          Creates a PKCS#10 request.
static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName, java.security.KeyPair keyPair, java.lang.String alg)
           
static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName, netscape.security.x509.X509Key pubk, org.mozilla.jss.crypto.PrivateKey prik)
          Creates a PKCS#10 request.
static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName, netscape.security.x509.X509Key pubk, org.mozilla.jss.crypto.PrivateKey prik, java.lang.String alg)
           
static netscape.security.x509.X509CertInfo createX509CertInfo(java.security.KeyPair pair, java.math.BigInteger serialno, java.lang.String issuername, java.lang.String subjname, java.util.Date notBefore, java.util.Date notAfter)
          Creates a Certificate template.
static netscape.security.x509.X509CertInfo createX509CertInfo(java.security.PublicKey publickey, java.math.BigInteger serialno, java.lang.String issuername, java.lang.String subjname, java.util.Date notBefore, java.util.Date notAfter)
           
static netscape.security.x509.X509CertInfo createX509CertInfo(netscape.security.x509.X509Key x509key, java.math.BigInteger serialno, java.lang.String issuername, java.lang.String subjname, java.util.Date notBefore, java.util.Date notAfter)
           
static netscape.security.x509.X509CertInfo createX509CertInfo(netscape.security.x509.X509Key x509key, java.math.BigInteger serialno, java.lang.String issuername, java.lang.String subjname, java.util.Date notBefore, java.util.Date notAfter, java.lang.String alg)
           
static void deleteAllCertificates(java.lang.String nickname)
          Deletes all certificates by a nickname.
static void deletePrivateKey(org.mozilla.jss.crypto.PrivateKey prikey)
          Deletes a private key.
static org.mozilla.jss.crypto.PrivateKey findPrivateKeyFromID(byte[] id)
          Retrieves a private key from a unique key ID.
static java.security.KeyPair generateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, java.lang.String curveName)
           
static java.security.KeyPair generateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token, java.lang.String curveName, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
           
static java.security.KeyPair generateECCKeyPair(java.lang.String token, int keysize)
          Generates an ecc key pair.
static java.security.KeyPair generateECCKeyPair(java.lang.String token, int keysize, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
           
static java.security.KeyPair generateECCKeyPair(java.lang.String token, java.lang.String curveName)
          Generates an ecc key pair by curve name
static java.security.KeyPair generateECCKeyPair(java.lang.String token, java.lang.String curveName, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops, org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
           
static org.mozilla.jss.crypto.SymmetricKey generateKey(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.KeyGenAlgorithm alg)
          Generates a symmetric key.
static java.security.KeyPair generateRSAKeyPair(java.lang.String token, int keysize)
          Generates a RSA key pair.
static netscape.security.x509.X509CertImpl[] getAllUserCerts()
          Retrieves all user certificates from all tokens.
static byte[] getModulus(java.security.PublicKey pubk)
           
static java.lang.String getPKCS10FromKey(java.lang.String dn, byte[] modulus, byte[] exponent, byte[] prikdata)
           
static java.lang.String getPKCS10FromKey(java.lang.String dn, byte[] modulus, byte[] exponent, byte[] prikdata, java.lang.String alg)
           
static org.mozilla.jss.crypto.PrivateKey getPrivateKey(java.lang.String nickname)
          Retrieves a private key by nickname.
static byte[] getPublicExponent(java.security.PublicKey pubk)
           
static netscape.security.x509.X509Key getPublicX509ECCKey(byte[] encoded)
           
static netscape.security.x509.X509Key getPublicX509Key(byte[] modulus, byte[] exponent)
           
static java.lang.String getSubjectName(org.mozilla.jss.asn1.SEQUENCE crmfMsgs)
           
static org.mozilla.jss.crypto.CryptoToken getTokenByName(java.lang.String token)
          Retrieves handle to a JSS token.
static java.security.cert.X509Certificate[] getX509CertificateFromPKCS7(byte[] b)
           
static netscape.security.x509.X509Key getX509KeyFromCRMFMsgs(org.mozilla.jss.asn1.SEQUENCE crmfMsgs)
           
static void importCertificateChain(java.lang.String certchain)
           
static void importUserCertificate(netscape.security.x509.X509CertImpl cert, java.lang.String nickname)
          Imports a user certificate, and trusts the certificate.
static void importUserCertificate(netscape.security.x509.X509CertImpl cert, java.lang.String nickname, boolean trust)
           
static org.mozilla.jss.crypto.X509Certificate importUserCertificateChain(java.lang.String c, java.lang.String nickname)
          Imports a PKCS#7 certificate chain that includes the user certificate, and trusts the certificate.
static boolean isCertTrusted(org.mozilla.jss.crypto.InternalCertificate cert)
          To certificate server point of view, SSL trust is what we referring.
static boolean isECCKey(netscape.security.x509.X509Key key)
           
static boolean isTrust(int flag)
           
static java.lang.String normalizeCertAndReq(java.lang.String s)
           
static java.lang.String normalizeCertStr(java.lang.String s)
           
static org.mozilla.jss.asn1.SEQUENCE parseCRMFMsgs(byte[] cert_request)
           
static java.lang.String reqFormat(java.lang.String content)
           
static netscape.security.x509.X509CertImpl signCert(org.mozilla.jss.crypto.PrivateKey privateKey, netscape.security.x509.X509CertInfo certInfo, org.mozilla.jss.crypto.SignatureAlgorithm sigAlg)
           
static netscape.security.x509.X509CertImpl signCert(org.mozilla.jss.crypto.PrivateKey privateKey, netscape.security.x509.X509CertInfo certInfo, java.lang.String alg)
          Signs certificate.
static netscape.security.x509.X509CertImpl signECCCert(org.mozilla.jss.crypto.PrivateKey privateKey, netscape.security.x509.X509CertInfo certInfo)
           
static netscape.security.x509.X509CertImpl signECCCert(org.mozilla.jss.crypto.PrivateKey privateKey, netscape.security.x509.X509CertInfo certInfo, java.lang.String alg)
           
static byte[] string2byte(java.lang.String id)
           
static java.lang.String stripCertBrackets(java.lang.String s)
          strips out the begin and end certificate brackets
static java.lang.String toMIME64(netscape.security.x509.X509CertImpl cert)
           
static void trustCert(org.mozilla.jss.crypto.InternalCertificate cert)
          Trusts a certificate.
static void trustCertByNickname(java.lang.String nickname)
          Trusts a certificate by nickname.
static void unTrustCert(org.mozilla.jss.crypto.InternalCertificate cert)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CERTREQ_BEGIN_HEADING

public static final java.lang.String CERTREQ_BEGIN_HEADING
See Also:
Constant Field Values

CERTREQ_END_HEADING

public static final java.lang.String CERTREQ_END_HEADING
See Also:
Constant Field Values

LINE_COUNT

public static final int LINE_COUNT
See Also:
Constant Field Values

CERT_BEGIN_HEADING

public static final java.lang.String CERT_BEGIN_HEADING
See Also:
Constant Field Values

CERT_END_HEADING

public static final java.lang.String CERT_END_HEADING
See Also:
Constant Field Values
Constructor Detail

CryptoUtil

public CryptoUtil()
Method Detail

toMIME64

public static java.lang.String toMIME64(netscape.security.x509.X509CertImpl cert)

arraysEqual

public static boolean arraysEqual(byte[] bytes,
                                  byte[] ints)

getTokenByName

public static org.mozilla.jss.crypto.CryptoToken getTokenByName(java.lang.String token)
                                                         throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                                org.mozilla.jss.NoSuchTokenException
Retrieves handle to a JSS token.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException

generateRSAKeyPair

public static java.security.KeyPair generateRSAKeyPair(java.lang.String token,
                                                       int keysize)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Generates a RSA key pair.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

isECCKey

public static boolean isECCKey(netscape.security.x509.X509Key key)

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(java.lang.String token,
                                                       int keysize)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Generates an ecc key pair.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(java.lang.String token,
                                                       int keysize,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(java.lang.String token,
                                                       java.lang.String curveName)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Generates an ecc key pair by curve name

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token,
                                                       java.lang.String curveName)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(java.lang.String token,
                                                       java.lang.String curveName,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

generateECCKeyPair

public static java.security.KeyPair generateECCKeyPair(org.mozilla.jss.crypto.CryptoToken token,
                                                       java.lang.String curveName,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_ops,
                                                       org.mozilla.jss.crypto.KeyPairGeneratorSpi.Usage[] usage_mask)
                                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                       org.mozilla.jss.NoSuchTokenException,
                                                       java.security.NoSuchAlgorithmException,
                                                       org.mozilla.jss.crypto.TokenException
Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException

getModulus

public static byte[] getModulus(java.security.PublicKey pubk)

getPublicExponent

public static byte[] getPublicExponent(java.security.PublicKey pubk)

base64Encode

public static java.lang.String base64Encode(byte[] bytes)
                                     throws java.io.IOException
Throws:
java.io.IOException

base64Decode

public static byte[] base64Decode(java.lang.String s)
                           throws java.io.IOException
Throws:
java.io.IOException

reqFormat

public static java.lang.String reqFormat(java.lang.String content)

getPKCS10FromKey

public static java.lang.String getPKCS10FromKey(java.lang.String dn,
                                                byte[] modulus,
                                                byte[] exponent,
                                                byte[] prikdata)
                                         throws java.io.IOException,
                                                java.security.InvalidKeyException,
                                                org.mozilla.jss.crypto.TokenException,
                                                java.security.NoSuchProviderException,
                                                java.security.cert.CertificateException,
                                                java.security.SignatureException,
                                                org.mozilla.jss.CryptoManager.NotInitializedException,
                                                java.security.NoSuchAlgorithmException
Throws:
java.io.IOException
java.security.InvalidKeyException
org.mozilla.jss.crypto.TokenException
java.security.NoSuchProviderException
java.security.cert.CertificateException
java.security.SignatureException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException

getPKCS10FromKey

public static java.lang.String getPKCS10FromKey(java.lang.String dn,
                                                byte[] modulus,
                                                byte[] exponent,
                                                byte[] prikdata,
                                                java.lang.String alg)
                                         throws java.io.IOException,
                                                java.security.InvalidKeyException,
                                                org.mozilla.jss.crypto.TokenException,
                                                java.security.NoSuchProviderException,
                                                java.security.cert.CertificateException,
                                                java.security.SignatureException,
                                                org.mozilla.jss.CryptoManager.NotInitializedException,
                                                java.security.NoSuchAlgorithmException
Throws:
java.io.IOException
java.security.InvalidKeyException
org.mozilla.jss.crypto.TokenException
java.security.NoSuchProviderException
java.security.cert.CertificateException
java.security.SignatureException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException

certFormat

public static java.lang.String certFormat(java.lang.String content)

stripCertBrackets

public static java.lang.String stripCertBrackets(java.lang.String s)
strips out the begin and end certificate brackets

Parameters:
s - the string potentially bracketed with "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
Returns:
string without the brackets

normalizeCertAndReq

public static java.lang.String normalizeCertAndReq(java.lang.String s)

normalizeCertStr

public static java.lang.String normalizeCertStr(java.lang.String s)

importCertificateChain

public static void importCertificateChain(java.lang.String certchain)
                                   throws java.io.IOException,
                                          org.mozilla.jss.CryptoManager.NotInitializedException,
                                          org.mozilla.jss.crypto.TokenException,
                                          java.security.cert.CertificateEncodingException,
                                          java.security.cert.CertificateException
Throws:
java.io.IOException
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException
java.security.cert.CertificateEncodingException
java.security.cert.CertificateException

parseCRMFMsgs

public static org.mozilla.jss.asn1.SEQUENCE parseCRMFMsgs(byte[] cert_request)
                                                   throws java.io.IOException,
                                                          org.mozilla.jss.asn1.InvalidBERException
Throws:
java.io.IOException
org.mozilla.jss.asn1.InvalidBERException

getX509KeyFromCRMFMsgs

public static netscape.security.x509.X509Key getX509KeyFromCRMFMsgs(org.mozilla.jss.asn1.SEQUENCE crmfMsgs)
                                                             throws java.io.IOException,
                                                                    java.security.NoSuchAlgorithmException,
                                                                    java.security.InvalidKeyException,
                                                                    org.mozilla.jss.crypto.InvalidKeyFormatException
Throws:
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
org.mozilla.jss.crypto.InvalidKeyFormatException

getPublicX509Key

public static netscape.security.x509.X509Key getPublicX509Key(byte[] modulus,
                                                              byte[] exponent)
                                                       throws java.security.InvalidKeyException
Throws:
java.security.InvalidKeyException

getPublicX509ECCKey

public static netscape.security.x509.X509Key getPublicX509ECCKey(byte[] encoded)
                                                          throws java.security.InvalidKeyException
Throws:
java.security.InvalidKeyException

convertPublicKeyToX509Key

public static netscape.security.x509.X509Key convertPublicKeyToX509Key(java.security.PublicKey pubk)
                                                                throws java.security.InvalidKeyException
Throws:
java.security.InvalidKeyException

getSubjectName

public static java.lang.String getSubjectName(org.mozilla.jss.asn1.SEQUENCE crmfMsgs)
                                       throws java.io.IOException
Throws:
java.io.IOException

createX509CertInfo

public static netscape.security.x509.X509CertInfo createX509CertInfo(java.security.KeyPair pair,
                                                                     java.math.BigInteger serialno,
                                                                     java.lang.String issuername,
                                                                     java.lang.String subjname,
                                                                     java.util.Date notBefore,
                                                                     java.util.Date notAfter)
                                                              throws java.io.IOException,
                                                                     java.security.cert.CertificateException,
                                                                     java.security.InvalidKeyException
Creates a Certificate template.

Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.InvalidKeyException

createX509CertInfo

public static netscape.security.x509.X509CertInfo createX509CertInfo(java.security.PublicKey publickey,
                                                                     java.math.BigInteger serialno,
                                                                     java.lang.String issuername,
                                                                     java.lang.String subjname,
                                                                     java.util.Date notBefore,
                                                                     java.util.Date notAfter)
                                                              throws java.io.IOException,
                                                                     java.security.cert.CertificateException,
                                                                     java.security.InvalidKeyException
Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.InvalidKeyException

createX509CertInfo

public static netscape.security.x509.X509CertInfo createX509CertInfo(netscape.security.x509.X509Key x509key,
                                                                     java.math.BigInteger serialno,
                                                                     java.lang.String issuername,
                                                                     java.lang.String subjname,
                                                                     java.util.Date notBefore,
                                                                     java.util.Date notAfter)
                                                              throws java.io.IOException,
                                                                     java.security.cert.CertificateException,
                                                                     java.security.InvalidKeyException
Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.InvalidKeyException

createX509CertInfo

public static netscape.security.x509.X509CertInfo createX509CertInfo(netscape.security.x509.X509Key x509key,
                                                                     java.math.BigInteger serialno,
                                                                     java.lang.String issuername,
                                                                     java.lang.String subjname,
                                                                     java.util.Date notBefore,
                                                                     java.util.Date notAfter,
                                                                     java.lang.String alg)
                                                              throws java.io.IOException,
                                                                     java.security.cert.CertificateException,
                                                                     java.security.InvalidKeyException,
                                                                     java.security.NoSuchAlgorithmException
Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException

signECCCert

public static netscape.security.x509.X509CertImpl signECCCert(org.mozilla.jss.crypto.PrivateKey privateKey,
                                                              netscape.security.x509.X509CertInfo certInfo)
                                                       throws org.mozilla.jss.NoSuchTokenException,
                                                              org.mozilla.jss.CryptoManager.NotInitializedException,
                                                              java.security.NoSuchAlgorithmException,
                                                              org.mozilla.jss.NoSuchTokenException,
                                                              org.mozilla.jss.crypto.TokenException,
                                                              java.security.InvalidKeyException,
                                                              java.security.SignatureException,
                                                              java.io.IOException,
                                                              java.security.cert.CertificateException
Throws:
org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException
java.security.InvalidKeyException
java.security.SignatureException
java.io.IOException
java.security.cert.CertificateException

signECCCert

public static netscape.security.x509.X509CertImpl signECCCert(org.mozilla.jss.crypto.PrivateKey privateKey,
                                                              netscape.security.x509.X509CertInfo certInfo,
                                                              java.lang.String alg)
                                                       throws org.mozilla.jss.NoSuchTokenException,
                                                              org.mozilla.jss.CryptoManager.NotInitializedException,
                                                              java.security.NoSuchAlgorithmException,
                                                              org.mozilla.jss.NoSuchTokenException,
                                                              org.mozilla.jss.crypto.TokenException,
                                                              java.security.InvalidKeyException,
                                                              java.security.SignatureException,
                                                              java.io.IOException,
                                                              java.security.cert.CertificateException
Throws:
org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException
java.security.InvalidKeyException
java.security.SignatureException
java.io.IOException
java.security.cert.CertificateException

signCert

public static netscape.security.x509.X509CertImpl signCert(org.mozilla.jss.crypto.PrivateKey privateKey,
                                                           netscape.security.x509.X509CertInfo certInfo,
                                                           java.lang.String alg)
                                                    throws org.mozilla.jss.NoSuchTokenException,
                                                           org.mozilla.jss.CryptoManager.NotInitializedException,
                                                           java.security.NoSuchAlgorithmException,
                                                           org.mozilla.jss.NoSuchTokenException,
                                                           org.mozilla.jss.crypto.TokenException,
                                                           java.security.InvalidKeyException,
                                                           java.security.SignatureException,
                                                           java.io.IOException,
                                                           java.security.cert.CertificateException
Signs certificate.

Throws:
org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException
java.security.InvalidKeyException
java.security.SignatureException
java.io.IOException
java.security.cert.CertificateException

signCert

public static netscape.security.x509.X509CertImpl signCert(org.mozilla.jss.crypto.PrivateKey privateKey,
                                                           netscape.security.x509.X509CertInfo certInfo,
                                                           org.mozilla.jss.crypto.SignatureAlgorithm sigAlg)
                                                    throws org.mozilla.jss.NoSuchTokenException,
                                                           org.mozilla.jss.CryptoManager.NotInitializedException,
                                                           java.security.NoSuchAlgorithmException,
                                                           org.mozilla.jss.NoSuchTokenException,
                                                           org.mozilla.jss.crypto.TokenException,
                                                           java.security.InvalidKeyException,
                                                           java.security.SignatureException,
                                                           java.io.IOException,
                                                           java.security.cert.CertificateException
Throws:
org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
org.mozilla.jss.crypto.TokenException
java.security.InvalidKeyException
java.security.SignatureException
java.io.IOException
java.security.cert.CertificateException

createCertificationRequest

public static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName,
                                                                       netscape.security.x509.X509Key pubk,
                                                                       org.mozilla.jss.crypto.PrivateKey prik)
                                                                throws java.security.NoSuchAlgorithmException,
                                                                       java.security.NoSuchProviderException,
                                                                       java.security.InvalidKeyException,
                                                                       java.io.IOException,
                                                                       java.security.cert.CertificateException,
                                                                       java.security.SignatureException
Creates a PKCS#10 request.

Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.InvalidKeyException
java.io.IOException
java.security.cert.CertificateException
java.security.SignatureException

createCertificationRequest

public static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName,
                                                                       netscape.security.x509.X509Key pubk,
                                                                       org.mozilla.jss.crypto.PrivateKey prik,
                                                                       java.lang.String alg)
                                                                throws java.security.NoSuchAlgorithmException,
                                                                       java.security.NoSuchProviderException,
                                                                       java.security.InvalidKeyException,
                                                                       java.io.IOException,
                                                                       java.security.cert.CertificateException,
                                                                       java.security.SignatureException
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.InvalidKeyException
java.io.IOException
java.security.cert.CertificateException
java.security.SignatureException

createCertificationRequest

public static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName,
                                                                       java.security.KeyPair keyPair)
                                                                throws java.security.NoSuchAlgorithmException,
                                                                       java.security.NoSuchProviderException,
                                                                       java.security.InvalidKeyException,
                                                                       java.io.IOException,
                                                                       java.security.cert.CertificateException,
                                                                       java.security.SignatureException
Creates a PKCS#10 request.

Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.InvalidKeyException
java.io.IOException
java.security.cert.CertificateException
java.security.SignatureException

createCertificationRequest

public static netscape.security.pkcs.PKCS10 createCertificationRequest(java.lang.String subjectName,
                                                                       java.security.KeyPair keyPair,
                                                                       java.lang.String alg)
                                                                throws java.security.NoSuchAlgorithmException,
                                                                       java.security.NoSuchProviderException,
                                                                       java.security.InvalidKeyException,
                                                                       java.io.IOException,
                                                                       java.security.cert.CertificateException,
                                                                       java.security.SignatureException
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.InvalidKeyException
java.io.IOException
java.security.cert.CertificateException
java.security.SignatureException

unTrustCert

public static void unTrustCert(org.mozilla.jss.crypto.InternalCertificate cert)

trustCertByNickname

public static void trustCertByNickname(java.lang.String nickname)
                                throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                       org.mozilla.jss.crypto.TokenException
Trusts a certificate by nickname.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

trustCert

public static void trustCert(org.mozilla.jss.crypto.InternalCertificate cert)
Trusts a certificate.


isCertTrusted

public static boolean isCertTrusted(org.mozilla.jss.crypto.InternalCertificate cert)
To certificate server point of view, SSL trust is what we referring.


isTrust

public static boolean isTrust(int flag)

generateKey

public static org.mozilla.jss.crypto.SymmetricKey generateKey(org.mozilla.jss.crypto.CryptoToken token,
                                                              org.mozilla.jss.crypto.KeyGenAlgorithm alg)
                                                       throws org.mozilla.jss.crypto.TokenException,
                                                              java.security.NoSuchAlgorithmException,
                                                              java.lang.IllegalStateException
Generates a symmetric key.

Throws:
org.mozilla.jss.crypto.TokenException
java.security.NoSuchAlgorithmException
java.lang.IllegalStateException

compare

public static boolean compare(byte[] src,
                              byte[] dest)
Compares 2 byte arrays to see if they are the same.


byte2string

public static java.lang.String byte2string(byte[] id)

string2byte

public static byte[] string2byte(java.lang.String id)

findPrivateKeyFromID

public static org.mozilla.jss.crypto.PrivateKey findPrivateKeyFromID(byte[] id)
                                                              throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                                     org.mozilla.jss.crypto.TokenException
Retrieves a private key from a unique key ID.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

getAllUserCerts

public static netscape.security.x509.X509CertImpl[] getAllUserCerts()
                                                             throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                                    org.mozilla.jss.crypto.TokenException
Retrieves all user certificates from all tokens.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

deletePrivateKey

public static void deletePrivateKey(org.mozilla.jss.crypto.PrivateKey prikey)
                             throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                    org.mozilla.jss.crypto.TokenException
Deletes a private key.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

getPrivateKey

public static org.mozilla.jss.crypto.PrivateKey getPrivateKey(java.lang.String nickname)
                                                       throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                              org.mozilla.jss.crypto.TokenException
Retrieves a private key by nickname.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

deleteAllCertificates

public static void deleteAllCertificates(java.lang.String nickname)
                                  throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                         org.mozilla.jss.crypto.TokenException
Deletes all certificates by a nickname.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.crypto.TokenException

importUserCertificateChain

public static org.mozilla.jss.crypto.X509Certificate importUserCertificateChain(java.lang.String c,
                                                                                java.lang.String nickname)
                                                                         throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                                                                org.mozilla.jss.CryptoManager.NicknameConflictException,
                                                                                org.mozilla.jss.CryptoManager.UserCertConflictException,
                                                                                org.mozilla.jss.crypto.NoSuchItemOnTokenException,
                                                                                org.mozilla.jss.crypto.TokenException,
                                                                                java.security.cert.CertificateEncodingException
Imports a PKCS#7 certificate chain that includes the user certificate, and trusts the certificate.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
org.mozilla.jss.CryptoManager.NicknameConflictException
org.mozilla.jss.CryptoManager.UserCertConflictException
org.mozilla.jss.crypto.NoSuchItemOnTokenException
org.mozilla.jss.crypto.TokenException
java.security.cert.CertificateEncodingException

importUserCertificate

public static void importUserCertificate(netscape.security.x509.X509CertImpl cert,
                                         java.lang.String nickname)
                                  throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                         java.security.cert.CertificateEncodingException,
                                         org.mozilla.jss.crypto.NoSuchItemOnTokenException,
                                         org.mozilla.jss.crypto.TokenException,
                                         org.mozilla.jss.CryptoManager.NicknameConflictException,
                                         org.mozilla.jss.CryptoManager.UserCertConflictException
Imports a user certificate, and trusts the certificate.

Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.cert.CertificateEncodingException
org.mozilla.jss.crypto.NoSuchItemOnTokenException
org.mozilla.jss.crypto.TokenException
org.mozilla.jss.CryptoManager.NicknameConflictException
org.mozilla.jss.CryptoManager.UserCertConflictException

importUserCertificate

public static void importUserCertificate(netscape.security.x509.X509CertImpl cert,
                                         java.lang.String nickname,
                                         boolean trust)
                                  throws org.mozilla.jss.CryptoManager.NotInitializedException,
                                         java.security.cert.CertificateEncodingException,
                                         org.mozilla.jss.crypto.NoSuchItemOnTokenException,
                                         org.mozilla.jss.crypto.TokenException,
                                         org.mozilla.jss.CryptoManager.NicknameConflictException,
                                         org.mozilla.jss.CryptoManager.UserCertConflictException
Throws:
org.mozilla.jss.CryptoManager.NotInitializedException
java.security.cert.CertificateEncodingException
org.mozilla.jss.crypto.NoSuchItemOnTokenException
org.mozilla.jss.crypto.TokenException
org.mozilla.jss.CryptoManager.NicknameConflictException
org.mozilla.jss.CryptoManager.UserCertConflictException

getX509CertificateFromPKCS7

public static java.security.cert.X509Certificate[] getX509CertificateFromPKCS7(byte[] b)
                                                                        throws java.io.IOException
Throws:
java.io.IOException