Class Certificate

  • All Implemented Interfaces:
    ASN1Value

    public class Certificate
    extends java.lang.Object
    implements ASN1Value
    An X.509 signed certificate.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Certificate.Template  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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,
                           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 certificate.
        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.
        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,
                           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
        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
        Returns:
        Base tag.
      • 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
        Parameters:
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.
      • 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
        Parameters:
        implicitTag - Implicit tag.
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.
      • main

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