JSS 3.1.2

org.mozilla.jss.pkix.cert
Class Certificate

java.lang.Object
  |
  +--org.mozilla.jss.pkix.cert.Certificate
All Implemented Interfaces:
ASN1Value

public class Certificate
extends java.lang.Object
implements ASN1Value

An X.509 signed certificate.


Inner Class Summary
static class Certificate.Template
           
 
Field Summary
private  AlgorithmIdentifier algId
           
private  CertificateInfo info
           
private  byte[] infoEncoding
           
(package private)  SEQUENCE sequence
           
private  byte[] signature
           
private static Tag TAG
           
private static Certificate.Template templateInstance
           
 
Constructor Summary
private Certificate()
           
(package private) Certificate(CertificateInfo info, byte[] infoEncoding, AlgorithmIdentifier algId, byte[] signature)
           
  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, registerNatives, toString, wait, wait, wait
 

Field Detail

info

private CertificateInfo info

infoEncoding

private byte[] infoEncoding

signature

private byte[] signature

algId

private AlgorithmIdentifier algId

sequence

SEQUENCE sequence

TAG

private static final Tag TAG

templateInstance

private static final Certificate.Template templateInstance
Constructor Detail

Certificate

private Certificate()

Certificate

Certificate(CertificateInfo info,
            byte[] infoEncoding,
            AlgorithmIdentifier algId,
            byte[] signature)
      throws java.io.IOException

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,
                   TokenException,
                   java.security.SignatureException,
                   InvalidKeyFormatException
Verifies the signature on this certificate. Does not indicate that the certificate is valid at any specific time.

verify

public void verify(java.security.PublicKey key)
            throws java.security.InvalidKeyException,
                   CryptoManager.NotInitializedException,
                   java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   TokenException,
                   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.

verify

public void verify(java.security.PublicKey key,
                   CryptoToken token)
            throws java.security.NoSuchAlgorithmException,
                   java.security.cert.CertificateException,
                   TokenException,
                   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.

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

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

getTemplate

public static Certificate.Template getTemplate()

main

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

JSS 3.1.2