public void addCRLEntry(ASN1Integer userCertificate, Time revocationDate, int reason, ASN1GeneralizedTime invalidityDate)
{
if (reason != 0)
{
ASN1EncodableVector v = new ASN1EncodableVector();
if (reason < reasons.length)
{
if (reason < 0)
{
throw new IllegalArgumentException("invalid reason value: " + reason);
}
v.add(reasons[reason]);
}
else
{
v.add(createReasonExtension(reason));
}
if (invalidityDate != null)
{
v.add(createInvalidityDateExtension(invalidityDate));
}
internalAddCRLEntry(userCertificate, revocationDate, new DERSequence(v));
}
else if (invalidityDate != null)
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(createInvalidityDateExtension(invalidityDate));
internalAddCRLEntry(userCertificate, revocationDate, new DERSequence(v));
}
else
{