Class X509V3CertificateGenerator


  • public class X509V3CertificateGenerator
    extends java.lang.Object
    class to produce an X.509 Version 3 certificate.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addExtension​(java.lang.String OID, boolean critical, byte[] value)
      add a given extension field for the standard extensions tag (tag 3) The value parameter becomes the contents of the octet string associated with the extension.
      void addExtension​(java.lang.String OID, boolean critical, DEREncodable value)
      add a given extension field for the standard extensions tag (tag 3)
      void addExtension​(DERObjectIdentifier OID, boolean critical, byte[] value)
      add a given extension field for the standard extensions tag (tag 3)
      void addExtension​(DERObjectIdentifier OID, boolean critical, DEREncodable value)
      add a given extension field for the standard extensions tag (tag 3)
      java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key)
      generate an X509 certificate, based on the current issuer and subject using the default provider "BC".
      java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key, java.lang.String provider)
      generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing.
      java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key, java.lang.String provider, java.security.SecureRandom random)
      generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing and the supplied source of randomness, if required.
      java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key, java.security.SecureRandom random)
      generate an X509 certificate, based on the current issuer and subject using the default provider "BC", and the passed in source of randomness (if required).
      void reset()
      reset the generator
      void setIssuerDN​(X509Name issuer)
      Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the certificate.
      void setNotAfter​(java.util.Date date)  
      void setNotBefore​(java.util.Date date)  
      void setPublicKey​(java.security.PublicKey key)  
      void setSerialNumber​(java.math.BigInteger serialNumber)
      set the serial number for the certificate.
      void setSignatureAlgorithm​(java.lang.String signatureAlgorithm)  
      void setSubjectDN​(X509Name subject)
      Set the subject distinguished name.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • signatureAlgorithm

        private java.lang.String signatureAlgorithm
      • extensions

        private java.util.Hashtable extensions
      • extOrdering

        private java.util.Vector extOrdering
      • algorithms

        private static java.util.Hashtable algorithms
    • Constructor Detail

      • X509V3CertificateGenerator

        public X509V3CertificateGenerator()
    • Method Detail

      • reset

        public void reset()
        reset the generator
      • setSerialNumber

        public void setSerialNumber​(java.math.BigInteger serialNumber)
        set the serial number for the certificate.
      • setIssuerDN

        public void setIssuerDN​(X509Name issuer)
        Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the certificate.
      • setNotBefore

        public void setNotBefore​(java.util.Date date)
      • setNotAfter

        public void setNotAfter​(java.util.Date date)
      • setSubjectDN

        public void setSubjectDN​(X509Name subject)
        Set the subject distinguished name. The subject describes the entity associated with the public key.
      • setPublicKey

        public void setPublicKey​(java.security.PublicKey key)
      • setSignatureAlgorithm

        public void setSignatureAlgorithm​(java.lang.String signatureAlgorithm)
      • addExtension

        public void addExtension​(java.lang.String OID,
                                 boolean critical,
                                 DEREncodable value)
        add a given extension field for the standard extensions tag (tag 3)
      • addExtension

        public void addExtension​(DERObjectIdentifier OID,
                                 boolean critical,
                                 DEREncodable value)
        add a given extension field for the standard extensions tag (tag 3)
      • addExtension

        public void addExtension​(java.lang.String OID,
                                 boolean critical,
                                 byte[] value)
        add a given extension field for the standard extensions tag (tag 3) The value parameter becomes the contents of the octet string associated with the extension.
      • addExtension

        public void addExtension​(DERObjectIdentifier OID,
                                 boolean critical,
                                 byte[] value)
        add a given extension field for the standard extensions tag (tag 3)
      • generateX509Certificate

        public java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key)
                                                                   throws java.lang.SecurityException,
                                                                          java.security.SignatureException,
                                                                          java.security.InvalidKeyException
        generate an X509 certificate, based on the current issuer and subject using the default provider "BC".
        Throws:
        java.lang.SecurityException
        java.security.SignatureException
        java.security.InvalidKeyException
      • generateX509Certificate

        public java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key,
                                                                          java.security.SecureRandom random)
                                                                   throws java.lang.SecurityException,
                                                                          java.security.SignatureException,
                                                                          java.security.InvalidKeyException
        generate an X509 certificate, based on the current issuer and subject using the default provider "BC", and the passed in source of randomness (if required).
        Throws:
        java.lang.SecurityException
        java.security.SignatureException
        java.security.InvalidKeyException
      • generateX509Certificate

        public java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key,
                                                                          java.lang.String provider)
                                                                   throws java.security.NoSuchProviderException,
                                                                          java.lang.SecurityException,
                                                                          java.security.SignatureException,
                                                                          java.security.InvalidKeyException
        generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing.
        Throws:
        java.security.NoSuchProviderException
        java.lang.SecurityException
        java.security.SignatureException
        java.security.InvalidKeyException
      • generateX509Certificate

        public java.security.cert.X509Certificate generateX509Certificate​(java.security.PrivateKey key,
                                                                          java.lang.String provider,
                                                                          java.security.SecureRandom random)
                                                                   throws java.security.NoSuchProviderException,
                                                                          java.lang.SecurityException,
                                                                          java.security.SignatureException,
                                                                          java.security.InvalidKeyException
        generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing and the supplied source of randomness, if required.
        Throws:
        java.security.NoSuchProviderException
        java.lang.SecurityException
        java.security.SignatureException
        java.security.InvalidKeyException