CertificateList.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:2k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.x509;
  2. import org.bouncycastle.asn1.*;
  3. import org.bouncycastle.asn1.pkcs.*;
  4. /**
  5.  * PKIX RFC-2459
  6.  *
  7.  * The X.509 v2 CRL syntax is as follows.  For signature calculation,
  8.  * the data that is to be signed is ASN.1 DER encoded.
  9.  *
  10.  * <pre>
  11.  * CertificateList  ::=  SEQUENCE  {
  12.  *      tbsCertList          TBSCertList,
  13.  *      signatureAlgorithm   AlgorithmIdentifier,
  14.  *      signatureValue       BIT STRING  }
  15.  * </pre>
  16.  */
  17. public class CertificateList
  18.     implements DEREncodable
  19. {
  20.     TBSCertList            tbsCertList;
  21.     AlgorithmIdentifier    sigAlgId;
  22.     DERBitString           sig;
  23.     public static CertificateList getInstance(
  24.         ASN1TaggedObject obj,
  25.         boolean          explicit)
  26.     {
  27.         return getInstance(ASN1Sequence.getInstance(obj, explicit));
  28.     }
  29.     public static CertificateList getInstance(
  30.         Object  obj)
  31.     {
  32.         if (obj instanceof CertificateList)
  33.         {
  34.             return (CertificateList)obj;
  35.         }
  36.         else if (obj instanceof ASN1Sequence)
  37.         {
  38.             return new CertificateList((ASN1Sequence)obj);
  39.         }
  40.         throw new IllegalArgumentException("unknown object in factory");
  41.     }
  42.     public CertificateList(
  43.         ASN1Sequence seq)
  44.     {
  45.         tbsCertList = TBSCertList.getInstance(seq.getObjectAt(0));
  46.         sigAlgId = AlgorithmIdentifier.getInstance(seq.getObjectAt(1));
  47.         sig = (DERBitString)seq.getObjectAt(2);
  48.     }
  49.     public TBSCertList getTBSCertList()
  50.     {
  51.         return tbsCertList;
  52.     }
  53.     public TBSCertList.CRLEntry[] getRevokedCertificates()
  54.     {
  55.         return tbsCertList.getRevokedCertificates();
  56.     }
  57.     public AlgorithmIdentifier getSignatureAlgorithm()
  58.     {
  59.         return sigAlgId;
  60.     }
  61.     public DERBitString getSignature()
  62.     {
  63.         return sig;
  64.     }
  65.     public int getVersion()
  66.     {
  67.         return tbsCertList.getVersion();
  68.     }
  69.     public X509Name getIssuer()
  70.     {
  71.         return tbsCertList.getIssuer();
  72.     }
  73.     public Time getThisUpdate()
  74.     {
  75.         return tbsCertList.getThisUpdate();
  76.     }
  77.     public Time getNextUpdate()
  78.     {
  79.         return tbsCertList.getNextUpdate();
  80.     }
  81.     public DERObject getDERObject()
  82.     {
  83.         ASN1EncodableVector v = new ASN1EncodableVector();
  84.         v.add(tbsCertList);
  85.         v.add(sigAlgId);
  86.         v.add(sig);
  87.         return new DERSequence(v);
  88.     }
  89. }