FileDocCategorySizeDatePackage
V3TBSCertificateGenerator.javaAPI DocAzureus 3.0.3.43550Tue Jun 08 05:12:56 BST 2004org.bouncycastle.asn1.x509

V3TBSCertificateGenerator

public class V3TBSCertificateGenerator extends Object
Generator for Version 3 TBSCertificateStructures.
TBSCertificate ::= SEQUENCE {
version [ 0 ] Version DEFAULT v1(0),
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
extensions [ 3 ] Extensions OPTIONAL
}

Fields Summary
org.bouncycastle.asn1.DERTaggedObject
version
org.bouncycastle.asn1.DERInteger
serialNumber
AlgorithmIdentifier
signature
X509Name
issuer
Time
startDate
Time
endDate
X509Name
subject
SubjectPublicKeyInfo
subjectPublicKeyInfo
X509Extensions
extensions
Constructors Summary
public V3TBSCertificateGenerator()


     
    
    
Methods Summary
public TBSCertificateStructuregenerateTBSCertificate()

        if ((serialNumber == null) || (signature == null)
            || (issuer == null) || (startDate == null) || (endDate == null)
            || (subject == null) || (subjectPublicKeyInfo == null))
        {
            throw new IllegalStateException("not all mandatory fields set in V3 TBScertificate generator");
        }

        ASN1EncodableVector  v = new ASN1EncodableVector();

        v.add(version);
        v.add(serialNumber);
        v.add(signature);
        v.add(issuer);

        //
        // before and after dates
        //
        ASN1EncodableVector  validity = new ASN1EncodableVector();

        validity.add(startDate);
        validity.add(endDate);

        v.add(new DERSequence(validity));

        v.add(subject);

        v.add(subjectPublicKeyInfo);

        if (extensions != null)
        {
            v.add(new DERTaggedObject(3, extensions));
        }

        return new TBSCertificateStructure(new DERSequence(v));
    
public voidsetEndDate(org.bouncycastle.asn1.DERUTCTime endDate)

        this.endDate = new Time(endDate);
    
public voidsetEndDate(Time endDate)

        this.endDate = endDate;
    
public voidsetExtensions(X509Extensions extensions)

        this.extensions = extensions;
    
public voidsetIssuer(X509Name issuer)

        this.issuer = issuer;
    
public voidsetSerialNumber(org.bouncycastle.asn1.DERInteger serialNumber)

        this.serialNumber = serialNumber;
    
public voidsetSignature(AlgorithmIdentifier signature)

        this.signature = signature;
    
public voidsetStartDate(org.bouncycastle.asn1.DERUTCTime startDate)

        this.startDate = new Time(startDate);
    
public voidsetStartDate(Time startDate)

        this.startDate = startDate;
    
public voidsetSubject(X509Name subject)

        this.subject = subject;
    
public voidsetSubjectPublicKeyInfo(SubjectPublicKeyInfo pubKeyInfo)

        this.subjectPublicKeyInfo = pubKeyInfo;