org.bouncycastle.x509
Class X509V1CertificateGenerator

java.lang.Object
  extended by org.bouncycastle.x509.X509V1CertificateGenerator

public class X509V1CertificateGenerator
extends java.lang.Object

class to produce an X.509 Version 1 certificate.


Field Summary
private  AlgorithmIdentifier sigAlgId
           
private  java.lang.String signatureAlgorithm
           
private  DERObjectIdentifier sigOID
           
private  V1TBSCertificateGenerator tbsGen
           
 
Constructor Summary
X509V1CertificateGenerator()
           
 
Method Summary
 java.security.cert.X509Certificate generate(java.security.PrivateKey key)
          generate an X509 certificate, based on the current issuer and subject using the default provider.
 java.security.cert.X509Certificate generate(java.security.PrivateKey key, java.security.SecureRandom random)
          generate an X509 certificate, based on the current issuer and subject using the default provider and the passed in source of randomness
 java.security.cert.X509Certificate generate(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, and the passed in source of randomness (if required).
 java.security.cert.X509Certificate generate(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 passed in source of randomness (if required).
private  java.security.cert.X509Certificate generateJcaObject(TBSCertificateStructure tbsCert, byte[] signature)
           
 java.security.cert.X509Certificate generateX509Certificate(java.security.PrivateKey key)
          Deprecated. use generate(key, "BC")
 java.security.cert.X509Certificate generateX509Certificate(java.security.PrivateKey key, java.security.SecureRandom random)
          Deprecated. use generate(key, random, "BC")
 java.security.cert.X509Certificate generateX509Certificate(java.security.PrivateKey key, java.lang.String provider)
          Deprecated. use generate()
 java.security.cert.X509Certificate generateX509Certificate(java.security.PrivateKey key, java.lang.String provider, java.security.SecureRandom random)
          Deprecated. use generate()
 java.util.Iterator getSignatureAlgNames()
          Return an iterator of the signature names supported by the generator.
 void reset()
          reset the generator
 void setIssuerDN(javax.security.auth.x500.X500Principal issuer)
          Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the certificate.
 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)
          Set the signature algorithm.
 void setSubjectDN(javax.security.auth.x500.X500Principal subject)
          Set the subject distinguished name.
 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

tbsGen

private V1TBSCertificateGenerator tbsGen

sigOID

private DERObjectIdentifier sigOID

sigAlgId

private AlgorithmIdentifier sigAlgId

signatureAlgorithm

private java.lang.String signatureAlgorithm
Constructor Detail

X509V1CertificateGenerator

public X509V1CertificateGenerator()
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(javax.security.auth.x500.X500Principal issuer)
Set the issuer distinguished name - the issuer is the entity whose private key is used to sign 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(javax.security.auth.x500.X500Principal subject)
Set the subject distinguished name. The subject describes the entity associated with the public key.


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)
Set the signature algorithm. This can be either a name or an OID, names are treated as case insensitive.

Parameters:
signatureAlgorithm - string representation of the algorithm name.

generateX509Certificate

public java.security.cert.X509Certificate generateX509Certificate(java.security.PrivateKey key)
                                                           throws java.lang.SecurityException,
                                                                  java.security.SignatureException,
                                                                  java.security.InvalidKeyException
Deprecated. use generate(key, "BC")

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
Deprecated. use generate(key, random, "BC")

generate an X509 certificate, based on the current issuer and subject using the default provider "BC" and the passed in source of randomness

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
Deprecated. use generate()

generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing, and the passed in source of randomness (if required).

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
Deprecated. use generate()

generate an X509 certificate, based on the current issuer and subject, using the passed in provider for the signing, and the passed in source of randomness (if required).

Throws:
java.security.NoSuchProviderException
java.lang.SecurityException
java.security.SignatureException
java.security.InvalidKeyException

generate

public java.security.cert.X509Certificate generate(java.security.PrivateKey key)
                                            throws java.security.cert.CertificateEncodingException,
                                                   java.lang.IllegalStateException,
                                                   java.security.NoSuchAlgorithmException,
                                                   java.security.SignatureException,
                                                   java.security.InvalidKeyException
generate an X509 certificate, based on the current issuer and subject using the default provider.

Note: this differs from the deprecated method in that the default provider is used - not "BC".

Throws:
java.security.cert.CertificateEncodingException
java.lang.IllegalStateException
java.security.NoSuchAlgorithmException
java.security.SignatureException
java.security.InvalidKeyException

generate

public java.security.cert.X509Certificate generate(java.security.PrivateKey key,
                                                   java.security.SecureRandom random)
                                            throws java.security.cert.CertificateEncodingException,
                                                   java.lang.IllegalStateException,
                                                   java.security.NoSuchAlgorithmException,
                                                   java.security.SignatureException,
                                                   java.security.InvalidKeyException
generate an X509 certificate, based on the current issuer and subject using the default provider and the passed in source of randomness

Note: this differs from the deprecated method in that the default provider is used - not "BC".

Throws:
java.security.cert.CertificateEncodingException
java.lang.IllegalStateException
java.security.NoSuchAlgorithmException
java.security.SignatureException
java.security.InvalidKeyException

generate

public java.security.cert.X509Certificate generate(java.security.PrivateKey key,
                                                   java.lang.String provider)
                                            throws java.security.cert.CertificateEncodingException,
                                                   java.lang.IllegalStateException,
                                                   java.security.NoSuchProviderException,
                                                   java.security.NoSuchAlgorithmException,
                                                   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 passed in source of randomness (if required).

Throws:
java.security.cert.CertificateEncodingException
java.lang.IllegalStateException
java.security.NoSuchProviderException
java.security.NoSuchAlgorithmException
java.security.SignatureException
java.security.InvalidKeyException

generate

public java.security.cert.X509Certificate generate(java.security.PrivateKey key,
                                                   java.lang.String provider,
                                                   java.security.SecureRandom random)
                                            throws java.security.cert.CertificateEncodingException,
                                                   java.lang.IllegalStateException,
                                                   java.security.NoSuchProviderException,
                                                   java.security.NoSuchAlgorithmException,
                                                   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 passed in source of randomness (if required).

Throws:
java.security.cert.CertificateEncodingException
java.lang.IllegalStateException
java.security.NoSuchProviderException
java.security.NoSuchAlgorithmException
java.security.SignatureException
java.security.InvalidKeyException

generateJcaObject

private java.security.cert.X509Certificate generateJcaObject(TBSCertificateStructure tbsCert,
                                                             byte[] signature)
                                                      throws java.security.cert.CertificateEncodingException
Throws:
java.security.cert.CertificateEncodingException

getSignatureAlgNames

public java.util.Iterator getSignatureAlgNames()
Return an iterator of the signature names supported by the generator.

Returns:
an iterator containing recognised names.