public class DistributionPoint
implements DEREncodable
{
- DERConstructedSequence seq = null;
+ ASN1Sequence seq = null;
+
+ public static DistributionPoint getInstance(
+ ASN1TaggedObject obj,
+ boolean explicit)
+ {
+ return getInstance(ASN1Sequence.getInstance(obj, explicit));
+ }
+
+ public static DistributionPoint getInstance(
+ Object obj)
+ {
+ if(obj == null || obj instanceof DistributionPoint)
+ {
+ return (DistributionPoint)obj;
+ }
+
+ if(obj instanceof ASN1Sequence)
+ {
+ return new DistributionPoint((ASN1Sequence)obj);
+ }
+
+ throw new IllegalArgumentException("Invalid DistributionPoint: " + obj.getClass().getName());
+ }
public DistributionPoint(
+ ASN1Sequence seq)
+ {
+ this.seq = seq;
+ }
+
+ public DistributionPoint(
DistributionPointName distributionPoint,
ReasonFlags reasons,
GeneralNames cRLIssuer)
{
- seq = new DERConstructedSequence();
+ DEREncodableVector v = new DEREncodableVector();
if (distributionPoint != null)
{
- seq.addObject(new DERTaggedObject(0, distributionPoint));
+ v.add(new DERTaggedObject(0, distributionPoint));
}
if (reasons != null)
{
- seq.addObject(new DERTaggedObject(1, reasons));
+ v.add(new DERTaggedObject(1, reasons));
}
if (cRLIssuer != null)
{
- seq.addObject(new DERTaggedObject(2, cRLIssuer));
+ v.add(new DERTaggedObject(2, cRLIssuer));
}
+
+ seq = new DERSequence(v);
}
/**