|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.asn1.ASN1Encodable
be.cardon.asn1.x509.extensions.CRLDistributionPoints
public class CRLDistributionPoints
Extension CRLDistributionPoints
.
Documentation from RFC 3280:
The CRL distribution points extension identifies how CRL information is obtained. The extension SHOULD be non-critical, but this profile RECOMMENDS support for this extension by CAs and applications. Further discussion of CRL management is contained in section 5.
The cRLDistributionPoints
extension is a SEQUENCE of
DistributionPoint
. A DistributionPoint
consists of three fields,
each of which is optional: distributionPoint
, reasons
,
and cRLIssuer
.
While each of these fields is optional, a DistributionPoint
MUST NOT
consist of only the reasons
field; either distributionPoint
or
cRLIssuer
MUST be present. If the certificate issuer is not the CRL
issuer, then the cRLIssuer field MUST be present and contain the Name
of the CRL issuer. If the certificate issuer is also the CRL issuer,
then the cRLIssuer
field MUST be omitted and the distributionPoint
field MUST be present. If the distributionPoint
field is omitted,
cRLIssuer
MUST be present and include a Name
corresponding to an
X.500 or LDAP directory entry where the CRL is located.
When the distributionPoint
field is present, it contains either a
SEQUENCE of general names or a single value, nameRelativeToCRLIssuer
.
If the cRLDistributionPoints
extension contains a general name of
type URI, the following semantics MUST be assumed: the URI is a
pointer to the current CRL for the associated reasons and will be
issued by the associated cRLIssuer
. The expected values for the URI
are those defined in 4.2.1.7. Processing rules for other values are
not defined by this specification.
If the DistributionPointName
contains multiple values, each name
describes a different mechanism to obtain the same CRL. For example,
the same CRL could be available for retrieval through both LDAP and
HTTP.
If the DistributionPointName
contains the single value
nameRelativeToCRLIssuer
, the value provides a distinguished name
fragment. The fragment is appended to the X.500 distinguished name
of the CRL issuer to obtain the distribution point name. If the
cRLIssuer
field in the DistributionPoint
is present, then the name
fragment is appended to the distinguished name that it contains;
otherwise, the name fragment is appended to the certificate issuer
distinguished name. The {code DistributionPointName} MUST NOT use the
nameRealtiveToCRLIssuer
alternative when cRLIssuer
contains more than
one distinguished name.
If the DistributionPoint
omits the reasons
field, the CRL MUST
include revocation information for all reasons.
The cRLIssuer
identifies the entity who signs and issues the CRL. If
present, the cRLIssuer
MUST contain at least one an X.500
distinguished name (DN), and MAY also contain other name forms.
Since the cRLIssuer
is compared to the CRL issuer name, the X.501
type Name MUST follow the encoding rules for the issuer name field in
the certificate (section 4.1.2.4).
ASN.1 definitions:
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 } CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint DistributionPoint ::= SEQUENCE { distributionPoint [0] DistributionPointName OPTIONAL, reasons [1] ReasonFlags OPTIONAL, cRLIssuer [2] GeneralNames OPTIONAL } DistributionPointName ::= CHOICE { fullName [0] GeneralNames, nameRelativeToCRLIssuer [1] RelativeDistinguishedName } ReasonFlags ::= BIT STRING { unused (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), privilegeWithdrawn (7), aACompromise (8) }
Field Summary |
---|
Fields inherited from class org.bouncycastle.asn1.ASN1Encodable |
---|
BER, DER |
Constructor Summary | |
---|---|
CRLDistributionPoints(org.bouncycastle.asn1.ASN1Sequence seq)
Creates an new instance from a ASN1Sequence object. |
|
CRLDistributionPoints(java.util.Vector<DistributionPoint> distributionPointVector)
Create an new instance from given distribution points. |
Method Summary | |
---|---|
java.util.Vector<DistributionPoint> |
getDistributionPointVector()
Returns the distribution points making up the sequence. |
static CRLDistributionPoints |
getInstance(org.bouncycastle.asn1.ASN1TaggedObject obj,
boolean explicit)
Returns an instance from a ASN.1 tagged object. |
static CRLDistributionPoints |
getInstance(java.lang.Object obj)
Returns an instance from a ASN1Sequence , or
CRLDistributionPoints object. |
org.bouncycastle.asn1.DERObject |
toASN1Object()
|
Methods inherited from class org.bouncycastle.asn1.ASN1Encodable |
---|
equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CRLDistributionPoints(org.bouncycastle.asn1.ASN1Sequence seq)
ASN1Sequence
object.
public CRLDistributionPoints(java.util.Vector<DistributionPoint> distributionPointVector)
Method Detail |
---|
public static CRLDistributionPoints getInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)
public static CRLDistributionPoints getInstance(java.lang.Object obj)
ASN1Sequence
, or
CRLDistributionPoints
object.
public java.util.Vector<DistributionPoint> getDistributionPointVector()
public org.bouncycastle.asn1.DERObject toASN1Object()
toASN1Object
in class org.bouncycastle.asn1.ASN1Encodable
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |