/*
* We do not support both choices of DistributionPointName, hence we
* directly initialize the one we support rather than going through an
* ASN1Choice (which just adds another layer of complication).
*/
fullName_ = new ASN1SequenceOf(GeneralName.class);
/*
* We wrap the only CHOICE we support into the appropriate tagged type.
*/
distributionPoint_ = new ASN1TaggedType(TAG_FULL_NAME, fullName_,
false, false);
/*
* We wrap again. Flags are EXPLICIT and OPTIONAL.
*/
distributionPointTag_ = new ASN1TaggedType(TAG_DISTRIBUTION_POINT,
distributionPoint_, true, true);
/*
* Finally, we add the tagged type.
*/
add(distributionPointTag_);
/*
* Next element with tag [1].
*/
reasons_ = new ASN1BitString();
reasonsTag_ = new ASN1TaggedType(TAG_REASONS, reasons_, false, true);
add(reasonsTag_);
/*
* Final element with tag [2].
*/
cRLIssuer_ = new ASN1SequenceOf(GeneralName.class);
cRLIssuerTag_ = new ASN1TaggedType(TAG_CRL_ISSUER, cRLIssuer_, false,
true);
add(cRLIssuerTag_);
}