public class CRLDistributionPointsExtension extends Extension
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 |
|---|---|
static java.lang.String |
NAME |
critical, extensionId, extensionValue| Modifier | Constructor and Description |
|---|---|
|
CRLDistributionPointsExtension(boolean isCritical,
java.util.List<DistributionPoint> distributionPoints)
Create a CRLDistributionPointsExtension from a List of
DistributionPoint.
|
|
CRLDistributionPointsExtension(java.lang.Boolean critical,
java.lang.Object value)
Create the extension from the passed DER encoded value of the same.
|
|
CRLDistributionPointsExtension(java.util.List<DistributionPoint> distributionPoints)
Create a CRLDistributionPointsExtension from a List of
DistributionPoint; the criticality is set to false.
|
protected |
CRLDistributionPointsExtension(com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
boolean isCritical,
java.util.List<DistributionPoint> distributionPoints,
java.lang.String extensionName)
Creates the extension (also called by the subclass).
|
protected |
CRLDistributionPointsExtension(com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
java.lang.Boolean critical,
java.lang.Object value,
java.lang.String extensionName)
Creates the extension (also called by the subclass).
|
| Modifier and Type | Method and Description |
|---|---|
void |
encode(com.tencent.kona.sun.security.util.DerOutputStream out)
Write the extension to the DerOutputStream.
|
protected void |
encode(com.tencent.kona.sun.security.util.DerOutputStream out,
com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
boolean isCritical)
Write the extension to the DerOutputStream.
|
java.util.List<DistributionPoint> |
getDistributionPoints()
Get the DistributionPoint value.
|
java.lang.String |
getName()
Return the name of this extension.
|
java.lang.String |
toString()
Return the extension as user readable string.
|
encode, equals, getExtensionId, getExtensionValue, getId, getValue, hashCode, isCritical, newExtensionpublic static final java.lang.String NAME
public CRLDistributionPointsExtension(java.util.List<DistributionPoint> distributionPoints)
distributionPoints - the list of distribution pointsjava.io.IOException - on errorpublic CRLDistributionPointsExtension(boolean isCritical,
java.util.List<DistributionPoint> distributionPoints)
isCritical - the criticality setting.distributionPoints - the list of distribution points,
cannot be null or empty.protected CRLDistributionPointsExtension(com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
boolean isCritical,
java.util.List<DistributionPoint> distributionPoints,
java.lang.String extensionName)
public CRLDistributionPointsExtension(java.lang.Boolean critical,
java.lang.Object value)
throws java.io.IOException
critical - true if the extension is to be treated as critical.value - Array of DER encoded bytes of the actual value.java.io.IOException - on error.protected CRLDistributionPointsExtension(com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
java.lang.Boolean critical,
java.lang.Object value,
java.lang.String extensionName)
throws java.io.IOException
java.io.IOExceptionpublic java.lang.String getName()
public void encode(com.tencent.kona.sun.security.util.DerOutputStream out)
protected void encode(com.tencent.kona.sun.security.util.DerOutputStream out,
com.tencent.kona.sun.security.util.ObjectIdentifier extensionId,
boolean isCritical)
public java.util.List<DistributionPoint> getDistributionPoints()