APIdia Launch Partner
Top Description Fields Constructors Methods
sun.security.x509

public Class CRLDistributionPointsExtension

extends Extension
Class Inheritance
Known Direct Subclasses
sun.security.x509.FreshestCRLExtension
Imports
java.io.IOException, java.util.*, sun.security.util.DerOutputStream, .DerValue, .ObjectIdentifier

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
Authors
Anne Anderson, Andreas Sterbenz
Since
1.4.2
See Also
DistributionPoint, Extension

Field Summary

Modifier and TypeField and Description
private List<DistributionPoint>
distributionPoints

The List of DistributionPoint objects.

private final String
public static final String
Inherited from sun.security.x509.Extension:
criticalextensionIdextensionValue

Constructor Summary

AccessConstructor 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).

Method Summary

Modifier and TypeMethod and Description
public void
encode(DerOutputStream
the DerOutputStream to write the extension to.
out
)

Overrides sun.security.x509.Extension.encode.

Implements sun.security.util.DerEncoder.encode.

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<DistributionPoint>
getDistributionPoints()

Get the DistributionPoint value.

public String
getName()

Overrides sun.security.x509.Extension.getName.

Return the name of this extension.

public String
toString()

Overrides sun.security.x509.Extension.toString.

Return the extension as user readable string.

Inherited from sun.security.x509.Extension:
encodeequalsgetExtensionIdgetExtensionValuegetIdgetValuehashCodeisCriticalnewExtension

Field Detail

distributionPointsback to summary
private List<DistributionPoint> distributionPoints

The List of DistributionPoint objects.

extensionNameback to summary
private final String extensionName
NAMEback to summary
public static final String NAME

Constructor Detail

CRLDistributionPointsExtensionback to summary
public CRLDistributionPointsExtension(List<DistributionPoint> distributionPoints)

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

Parameters
distributionPoints:List<DistributionPoint>

the list of distribution points

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

Create a CRLDistributionPointsExtension from a List of DistributionPoint.

Parameters
isCritical:boolean

the criticality setting.

distributionPoints:List<DistributionPoint>

the list of distribution points, cannot be null or empty.

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

Creates the extension (also called by the subclass).

CRLDistributionPointsExtensionback to summary
public CRLDistributionPointsExtension(Boolean critical, Object value) throws IOException

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

Parameters
critical:Boolean

true if the extension is to be treated as critical.

value:Object

Array of DER encoded bytes of the actual value.

Exceptions
IOException:
on error.
CRLDistributionPointsExtensionback to summary
protected CRLDistributionPointsExtension(ObjectIdentifier extensionId, Boolean critical, Object value, String extensionName) throws IOException

Creates the extension (also called by the subclass).

Method Detail

encodeback to summary
public void encode(DerOutputStream out)

Overrides sun.security.x509.Extension.encode.

Implements sun.security.util.DerEncoder.encode.

Write the extension to the DerOutputStream.

Parameters
out:DerOutputStream

the DerOutputStream to write the extension to.

Annotations
@Override
encodeback to summary
protected void encode(DerOutputStream out, ObjectIdentifier extensionId, boolean isCritical)

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

encodeThisback to summary
private void encodeThis()
getDistributionPointsback to summary
public List<DistributionPoint> getDistributionPoints()

Get the DistributionPoint value.

getNameback to summary
public String getName()

Overrides sun.security.x509.Extension.getName.

Return the name of this extension.

Annotations
@Override
toStringback to summary
public String toString()

Overrides sun.security.x509.Extension.toString.

Return the extension as user readable string.