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

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.x509;
  2. import org.bouncycastle.asn1.*;
  3. public class DistributionPoint
  4.     implements DEREncodable
  5. {
  6.     ASN1Sequence  seq = null;
  7.     public static DistributionPoint getInstance(
  8.         ASN1TaggedObject obj,
  9.         boolean          explicit)
  10.     {
  11.         return getInstance(ASN1Sequence.getInstance(obj, explicit));
  12.     }
  13.     public static DistributionPoint getInstance(
  14.         Object obj)
  15.     {
  16.         if(obj == null || obj instanceof DistributionPoint)
  17.         {
  18.             return (DistributionPoint)obj;
  19.         }
  20.         if(obj instanceof ASN1Sequence)
  21.         {
  22.             return new DistributionPoint((ASN1Sequence)obj);
  23.         }
  24.         throw new IllegalArgumentException("Invalid DistributionPoint: " + obj.getClass().getName());
  25.     }
  26.     public DistributionPoint(
  27.         ASN1Sequence seq)
  28.     {
  29.         this.seq = seq;
  30.     }
  31.     public DistributionPoint(
  32.         DistributionPointName   distributionPoint,
  33.         ReasonFlags             reasons,
  34.         GeneralNames            cRLIssuer)
  35.     {
  36.         ASN1EncodableVector  v = new ASN1EncodableVector();
  37.         if (distributionPoint != null)
  38.         {
  39.             v.add(new DERTaggedObject(0, distributionPoint));
  40.         }
  41.         if (reasons != null)
  42.         {
  43.             v.add(new DERTaggedObject(1, reasons));
  44.         }
  45.         if (cRLIssuer != null)
  46.         {
  47.             v.add(new DERTaggedObject(2, cRLIssuer));
  48.         }
  49.         seq = new DERSequence(v);
  50.     }
  51.     /**
  52.      * <pre>
  53.      * DistributionPoint ::= SEQUENCE {
  54.      *      distributionPoint [0] DistributionPointName OPTIONAL,
  55.      *      reasons           [1] ReasonFlags OPTIONAL,
  56.      *      cRLIssuer         [2] GeneralNames OPTIONAL
  57.      * }
  58.      * </pre>
  59.      */
  60.     public DERObject getDERObject()
  61.     {
  62.         return seq;
  63.     }
  64. }