public class CRLDistributionPointsExtension extends Extension implements CertAttrSet<java.lang.String>
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,
CertAttrSet| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
IDENT
Identifier for this attribute, to be used with the
get, set, delete methods of Certificate, x509 type.
|
static java.lang.String |
NAME
Attribute name.
|
static java.lang.String |
POINTS |
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(ObjectIdentifier extensionId,
boolean isCritical,
java.util.List<DistributionPoint> distributionPoints,
java.lang.String extensionName)
Creates the extension (also called by the subclass).
|
protected |
CRLDistributionPointsExtension(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 |
delete(java.lang.String name)
Delete the attribute value.
|
void |
encode(java.io.OutputStream out)
Write the extension to the DerOutputStream.
|
protected void |
encode(java.io.OutputStream out,
ObjectIdentifier extensionId,
boolean isCritical)
Write the extension to the DerOutputStream.
|
java.lang.Object |
get(java.lang.String name)
Get the attribute value.
|
java.util.Enumeration<java.lang.String> |
getElements()
Return an enumeration of names of attributes existing within this
attribute.
|
java.lang.String |
getName()
Return the name of this attribute.
|
void |
set(java.lang.String name,
java.lang.Object obj)
Set the attribute value.
|
java.lang.String |
toString()
Return the extension as user readable string.
|
encode, equals, getExtensionId, getExtensionValue, hashCode, isCriticalpublic static final java.lang.String IDENT
public static final java.lang.String NAME
public static final java.lang.String POINTS
public CRLDistributionPointsExtension(java.util.List<DistributionPoint> distributionPoints) throws java.io.IOException
distributionPoints - the list of distribution pointsjava.io.IOException - on errorpublic CRLDistributionPointsExtension(boolean isCritical,
java.util.List<DistributionPoint> distributionPoints)
throws java.io.IOException
isCritical - the criticality setting.distributionPoints - the list of distribution pointsjava.io.IOException - on errorprotected CRLDistributionPointsExtension(ObjectIdentifier extensionId, boolean isCritical, java.util.List<DistributionPoint> distributionPoints, java.lang.String extensionName) throws java.io.IOException
java.io.IOExceptionpublic 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(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()
getName in interface CertAttrSet<java.lang.String>public void encode(java.io.OutputStream out)
throws java.io.IOException
encode in interface CertAttrSet<java.lang.String>out - the DerOutputStream to write the extension to.java.io.IOException - on encoding errors.protected void encode(java.io.OutputStream out,
ObjectIdentifier extensionId,
boolean isCritical)
throws java.io.IOException
java.io.IOExceptionpublic void set(java.lang.String name,
java.lang.Object obj)
throws java.io.IOException
set in interface CertAttrSet<java.lang.String>name - the name of the attribute (e.g. "x509.info.key")obj - the attribute object.java.io.IOException - on other errors.public java.lang.Object get(java.lang.String name)
throws java.io.IOException
get in interface CertAttrSet<java.lang.String>name - the name of the attribute to return.java.io.IOException - on other errors.public void delete(java.lang.String name)
throws java.io.IOException
delete in interface CertAttrSet<java.lang.String>name - the name of the attribute to delete.java.io.IOException - on other errors.public java.util.Enumeration<java.lang.String> getElements()
getElements in interface CertAttrSet<java.lang.String>public java.lang.String toString()
toString in interface CertAttrSet<java.lang.String>toString in class ExtensionCopyright © 2020. All Rights Reserved.