public class

CRLDistributionPointsExtension

extends Extension
implements CertAttrSet<T>
java.lang.Object
   ↳ sun.security.x509.Extension
     ↳ sun.security.x509.CRLDistributionPointsExtension
Known Direct Subclasses

Class Overview

Represent the CRL Distribution Points Extension (OID = 2.5.29.31).

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
 

Summary

Constants
String IDENT Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
String NAME Attribute name.
String POINTS
[Expand]
Inherited Fields
From class sun.security.x509.Extension
Public Constructors
CRLDistributionPointsExtension(List<DistributionPoint> distributionPoints)
Create a CRLDistributionPointsExtension from a List of DistributionPoint; the criticality is set to false.
CRLDistributionPointsExtension(boolean isCritical, List<DistributionPoint> distributionPoints)
Create a CRLDistributionPointsExtension from a List of DistributionPoint.
CRLDistributionPointsExtension(Boolean critical, Object value)
Create the extension from the passed DER encoded value of the same.
Protected Constructors
CRLDistributionPointsExtension(ObjectIdentifier extensionId, boolean isCritical, List<DistributionPoint> distributionPoints, String extensionName)
Creates the extension (also called by the subclass).
CRLDistributionPointsExtension(ObjectIdentifier extensionId, Boolean critical, Object value, String extensionName)
Creates the extension (also called by the subclass).
Public Methods
void delete(String name)
Delete the attribute value.
void encode(OutputStream out)
Write the extension to the DerOutputStream.
Object get(String name)
Get the attribute value.
Enumeration<String> getElements()
Return an enumeration of names of attributes existing within this attribute.
String getName()
Return the name of this attribute.
void set(String name, Object obj)
Set the attribute value.
String toString()
Return the extension as user readable string.
Protected Methods
void encode(OutputStream out, ObjectIdentifier extensionId, boolean isCritical)
Write the extension to the DerOutputStream.
[Expand]
Inherited Methods
From class sun.security.x509.Extension
From class java.lang.Object
From interface sun.security.x509.CertAttrSet

Constants

public static final String IDENT

Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.

Constant Value: "x509.info.extensions.CRLDistributionPoints"

public static final String NAME

Attribute name.

Constant Value: "CRLDistributionPoints"

public static final String POINTS

Constant Value: "points"

Public Constructors

public CRLDistributionPointsExtension (List<DistributionPoint> distributionPoints)

Create a CRLDistributionPointsExtension from a List of DistributionPoint; the criticality is set to false.

Parameters
distributionPoints the list of distribution points
Throws
IOException on error

public CRLDistributionPointsExtension (boolean isCritical, List<DistributionPoint> distributionPoints)

Create a CRLDistributionPointsExtension from a List of DistributionPoint.

Parameters
isCritical the criticality setting.
distributionPoints the list of distribution points
Throws
IOException on error

public CRLDistributionPointsExtension (Boolean critical, Object value)

Create the extension from the passed DER encoded value of the same.

Parameters
critical true if the extension is to be treated as critical.
value Array of DER encoded bytes of the actual value.
Throws
IOException on error.

Protected Constructors

protected CRLDistributionPointsExtension (ObjectIdentifier extensionId, boolean isCritical, List<DistributionPoint> distributionPoints, String extensionName)

Creates the extension (also called by the subclass).

Throws
IOException

protected CRLDistributionPointsExtension (ObjectIdentifier extensionId, Boolean critical, Object value, String extensionName)

Creates the extension (also called by the subclass).

Throws
IOException

Public Methods

public void delete (String name)

Delete the attribute value.

Parameters
name the name of the attribute to delete.
Throws
IOException

public void encode (OutputStream out)

Write the extension to the DerOutputStream.

Parameters
out the DerOutputStream to write the extension to.
Throws
IOException on encoding errors.

public Object get (String name)

Get the attribute value.

Parameters
name the name of the attribute to return.
Throws
IOException

public Enumeration<String> getElements ()

Return an enumeration of names of attributes existing within this attribute.

Returns
  • an enumeration of the attribute names.

public String getName ()

Return the name of this attribute.

Returns
  • the name of this CertAttrSet.

public void set (String name, Object obj)

Set the attribute value.

Parameters
name the name of the attribute (e.g. "x509.info.key")
obj the attribute object.
Throws
IOException

public String toString ()

Return the extension as user readable string.

Returns
  • a string representation of the object.

Protected Methods

protected void encode (OutputStream out, ObjectIdentifier extensionId, boolean isCritical)

Write the extension to the DerOutputStream. (Also called by the subclass)

Throws
IOException