You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




org.mozilla.jss.pkix.cert
Class Certificate

java.lang.Object
  extended by org.mozilla.jss.pkix.cert.Certificate
All Implemented Interfaces:
ASN1Value

public class Certificate
extends java.lang.Object
implements ASN1Value

An X.509 signed certificate.


Nested Class Summary
static class Certificate.Template
           
 
Constructor Summary
Certificate(CertificateInfo info, java.security.PrivateKey privKey, SignatureAlgorithm signingAlg)
          Creates and signs an X.509 Certificate.
 
Method Summary
 void encode(java.io.OutputStream ostream)
          Write this value's DER encoding to an output stream using its own base tag.
 void encode(Tag implicitTag, java.io.OutputStream ostream)
          Write this value's DER encoding to an output stream using an implicit tag.
 CertificateInfo getInfo()
          Returns the information (TBSCertificate) contained in this certificate.
 Tag getTag()
          Returns the base tag for this type, not counting any tags that may be imposed on it by its context.
static Certificate.Template getTemplate()
           
static void main(java.lang.String[] argv)
           
 void verify()
          Verifies the signature on this certificate.
 void verify(java.security.PublicKey key)
          Verifies the signature on this certificate, using the given public key.
 void verify(java.security.PublicKey key, CryptoToken token)
          Verifies the signature on this certificate, using the given public key and CryptoToken.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Certificate

public Certificate(CertificateInfo info,
                   java.security.PrivateKey privKey,
                   SignatureAlgorithm signingAlg)
            throws java.io.IOException,
                   CryptoManager.NotInitializedException,
                   TokenException,
                   java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   java.security.InvalidKeyException,
                   java.security.SignatureException
Creates and signs an X.509 Certificate.

Parameters:
info - A CertificateInfo (TBSCertificate), which specifies the actual information of the certificate.
privKey - The private key with which to sign the certificat.
signingAlg - The algorithm to use to sign the certificate. It must match the algorithm specified in the CertificateInfo.
Throws:
java.io.IOException - If an error occurred while encoding the certificate.
CryptoManager.NotInitializedException - Because this operation involves cryptography (signing), CryptoManager must be initialized before calling it.
TokenException - If an error occurs on a PKCS #11 token.
java.security.NoSuchAlgorithmException - If the OID for the signing algorithm cannot be located.
java.security.cert.CertificateException - If the signing algorithm specified as a parameter does not match the one in the certificate info.
java.security.InvalidKeyException - If the key does not match the signing algorithm.
java.security.SignatureException - If an error occurs while signing the certificate.
Method Detail

verify

public void verify()
            throws java.security.InvalidKeyException,
                   CryptoManager.NotInitializedException,
                   java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   java.security.SignatureException,
                   InvalidKeyFormatException
Verifies the signature on this certificate. Does not indicate that the certificate is valid at any specific time.

Throws:
java.security.InvalidKeyException
CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
java.security.SignatureException
InvalidKeyFormatException

verify

public void verify(java.security.PublicKey key)
            throws java.security.InvalidKeyException,
                   java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   java.security.SignatureException
Verifies the signature on this certificate, using the given public key. Does not indicate the certificate is valid at any specific time.

Throws:
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
java.security.SignatureException

verify

public void verify(java.security.PublicKey key,
                   CryptoToken token)
            throws java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   java.security.SignatureException,
                   java.security.InvalidKeyException
Verifies the signature on this certificate, using the given public key and CryptoToken. Does not indicate the certificate is valid at any specific time.

Throws:
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
java.security.SignatureException
java.security.InvalidKeyException

getInfo

public CertificateInfo getInfo()
Returns the information (TBSCertificate) contained in this certificate.


getTag

public Tag getTag()
Description copied from interface: ASN1Value
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.

Specified by:
getTag in interface ASN1Value

encode

public void encode(java.io.OutputStream ostream)
            throws java.io.IOException
Description copied from interface: ASN1Value
Write this value's DER encoding to an output stream using its own base tag.

Specified by:
encode in interface ASN1Value
Throws:
java.io.IOException

encode

public void encode(Tag implicitTag,
                   java.io.OutputStream ostream)
            throws java.io.IOException
Description copied from interface: ASN1Value
Write this value's DER encoding to an output stream using an implicit tag.

Specified by:
encode in interface ASN1Value
Throws:
java.io.IOException

getTemplate

public static Certificate.Template getTemplate()

main

public static void main(java.lang.String[] argv)