2 package org.bouncycastle.asn1.x509;
4 import org.bouncycastle.asn1.*;
5 import org.bouncycastle.asn1.pkcs.*;
10 * The X.509 v2 CRL syntax is as follows. For signature calculation,
11 * the data that is to be signed is ASN.1 DER encoded.
14 * CertificateList ::= SEQUENCE {
15 * tbsCertList TBSCertList,
16 * signatureAlgorithm AlgorithmIdentifier,
17 * signatureValue BIT STRING }
21 public class CertificateList
22 implements DEREncodable
24 DERConstructedSequence seq;
26 TBSCertList tbsCertList;
27 AlgorithmIdentifier sigAlgId;
30 public CertificateList(
31 DERConstructedSequence seq)
35 if ( seq.getObjectAt(0) instanceof TBSCertList )
37 tbsCertList = (TBSCertList)seq.getObjectAt(0);
41 tbsCertList = new TBSCertList((DERConstructedSequence)seq.getObjectAt(0));
44 if ( seq.getObjectAt(1) instanceof AlgorithmIdentifier )
46 sigAlgId = (AlgorithmIdentifier)seq.getObjectAt(1);
50 sigAlgId = new AlgorithmIdentifier((DERConstructedSequence)seq.getObjectAt(1));
53 sig = (DERBitString)seq.getObjectAt(2);
56 public TBSCertList getTBSCertList()
61 public TBSCertList.CRLEntry[] getRevokedCertificates()
63 return tbsCertList.getRevokedCertificates();
66 public AlgorithmIdentifier getSignatureAlgorithm()
71 public DERBitString getSignature()
76 public int getVersion()
78 return tbsCertList.getVersion();
81 public X509Name getIssuer()
83 return tbsCertList.getIssuer();
86 public DERUTCTime getThisUpdate()
88 return tbsCertList.getThisUpdate();
91 public DERUTCTime getNextUpdate()
93 return tbsCertList.getNextUpdate();
96 public DERObject getDERObject()