The CRL distribution points extension identifies how CRL information is obtained. The extension SHOULD be non-critical, but the PKIX profile recommends support for this extension by CAs and applications.
For PKIX, if the cRLDistributionPoints extension contains a DistributionPointName 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 conform to the following rules. The name MUST be a non-relative URL, and MUST follow the URL syntax and encoding rules specified in [RFC 1738]. The name must include both a scheme (e.g., "http" or "ftp") and a scheme-specific-part. The scheme- specific-part must include a fully qualified domain name or IP address as the host. As specified in [RFC 1738], the scheme name is not case-sensitive (e.g., "http" is equivalent to "HTTP"). The host part is also not case-sensitive, but other components of the scheme-specific-part may be case-sensitive. When comparing URIs, conforming implementations MUST compare the scheme and host without regard to case, but assume the remainder of the scheme-specific-part is case-sensitive. Processing rules for other values are not defined by this specification. If the distributionPoint omits reasons, the CRL MUST include revocations for all reasons. If the distributionPoint omits cRLIssuer, the CRL MUST be issued by the CA that issued the certificate.
The ASN.1 definition for this is:
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 }
cRLDistributionPoints ::= {
CRLDistPointsSyntax }
CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
DistributionPoint, Extension
| Modifier and Type | Field and Description |
|---|---|
| private List | distributionPoints
The List of DistributionPoint objects. |
| private final String | |
| public static final String |
| Access | Constructor and Description |
|---|---|
| public | CRLDistributionPointsExtension(List<DistributionPoint>
the list of distribution points distributionPoints)Create a CRLDistributionPointsExtension from a List of DistributionPoint; the criticality is set to false. |
| public | CRLDistributionPointsExtension(boolean
the criticality setting. isCritical, List<DistributionPoint> the list of distribution points,
cannot be null or empty. distributionPoints)Create a CRLDistributionPointsExtension from a List of DistributionPoint. |
| protected | CRLDistributionPointsExtension(ObjectIdentifier extensionId, boolean isCritical, List<DistributionPoint> distributionPoints, String extensionName)
Creates the extension (also called by the subclass). |
| public | CRLDistributionPointsExtension(Boolean
true if the extension is to be treated as critical. critical, Object Array of DER encoded bytes of the actual value. value)Create the extension from the passed DER encoded value of the same. |
| protected | CRLDistributionPointsExtension(ObjectIdentifier extensionId, Boolean critical, Object value, String extensionName)
Creates the extension (also called by the subclass). |
| Modifier and Type | Method and Description |
|---|---|
| public void | encode(DerOutputStream
the DerOutputStream to write the extension to. out)Overrides sun. Implements sun. Write the extension to the DerOutputStream. |
| protected void | encode(DerOutputStream out, ObjectIdentifier extensionId, boolean isCritical)
Write the extension to the DerOutputStream. |
| private void | |
| public List | |
| public String | |
| public String | toString()
Overrides sun. Return the extension as user readable string. |
| distributionPoints | back to summary |
|---|---|
| private List<DistributionPoint> distributionPoints The List of DistributionPoint objects. | |
| extensionName | back to summary |
|---|---|
| private final String extensionName | |
| NAME | back to summary |
|---|---|
| public static final String NAME | |
| CRLDistributionPointsExtension | back to summary |
|---|---|
| public CRLDistributionPointsExtension(List<DistributionPoint> distributionPoints) Create a CRLDistributionPointsExtension from a List of DistributionPoint; the criticality is set to false.
| |
| CRLDistributionPointsExtension | back to summary |
|---|---|
| public CRLDistributionPointsExtension(boolean isCritical, List<DistributionPoint> distributionPoints) Create a CRLDistributionPointsExtension from a List of DistributionPoint.
| |
| CRLDistributionPointsExtension | back to summary |
|---|---|
| protected CRLDistributionPointsExtension(ObjectIdentifier extensionId, boolean isCritical, List<DistributionPoint> distributionPoints, String extensionName) Creates the extension (also called by the subclass). | |
| CRLDistributionPointsExtension | back to summary |
|---|---|
| public CRLDistributionPointsExtension(Boolean critical, Object value) throws IOException Create the extension from the passed DER encoded value of the same.
| |
| CRLDistributionPointsExtension | back to summary |
|---|---|
| protected CRLDistributionPointsExtension(ObjectIdentifier extensionId, Boolean critical, Object value, String extensionName) throws IOException Creates the extension (also called by the subclass). | |
| encode | back to summary |
|---|---|
| public void encode(DerOutputStream out) Overrides sun. Implements sun. Write the extension to the DerOutputStream.
| |
| encode | back to summary |
|---|---|
| protected void encode(DerOutputStream out, ObjectIdentifier extensionId, boolean isCritical) Write the extension to the DerOutputStream. (Also called by the subclass) | |
| encodeThis | back to summary |
|---|---|
| private void encodeThis() | |
| getDistributionPoints | back to summary |
|---|---|
| public List Get the DistributionPoint value. | |
| getName | back to summary |
|---|---|
| public String getName() Overrides sun. Return the name of this extension.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides sun. Return the extension as user readable string. | |