|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--iaik.x509.V3Extension | +--iaik.x509.extensions.CRLDistPointsSyntax | +--iaik.x509.extensions.CRLDistributionPoints
This class implements the CRLDistributionPoints
Extension.
The CRLDistributionPoints
extension is a non critical
standard X509v3 extension.
Each extension is associated with a specific certificateExtension
object identifier, derived from:
certificateExtension OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29} id-ce OBJECT IDENTIFIER ::= certificateExtension
The object identifier for the CRLDistributionPoints
extension
is defined as:
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 }
which corresponds to the OID string "2.5.29.31".
The X.509 Certificate and CRL profile presented in RFC 2459 specifies the CRL distribution points extension for identifiying how CRL information is obtained.
ASN.1 definition:
cRLDistributionPoints ::= { CRLDistPointsSyntax }
CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
DistributionPoint ::= SEQUENCE { distributionPoint [0] DistributionPointName OPTIONAL, reasons [1] ReasonFlags OPTIONAL, cRLIssuer [2] GeneralNames OPTIONAL }
DistributionPointName ::= CHOICE { fullName [0] GeneralNames, nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
ReasonFlags ::= BIT STRING { unused (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6) }
If the cRLDistributionPoints extension contains a DistributionPointName of type URI, the following semantics shall be assumed: the URI is a pointer to the current CRL for the associated reasons and will be issued by the associated cRLIssuer. If the distributionPoint omits reasons, the CRL shall include revocations for all reasons. If the distributionPoint omits cRLIssuer, the CRL shall be issued by the CA that issued the certificate.
More information can be found in RFC 2459, section 4.2.1.14 "CRLDistributionPoints".
A CRLDistributionPoints
object may be created by either using the empty default
constructor, or by directly supplying one distribution point which has to be of
type DistributionPoint
, e.g.:
GeneralNames distName = new GeneralNames(); distName.addName(new GeneralName(GeneralName.uniformResourceIdentifier, "http://ca.iaik.com/test.crl")); DistributionPoint distributionPoint = new DistributionPoint(distName); distributionPoint.setReasonFlags(DistributionPoint.keyCompromise); CRLDistributionPoints cRLDistributionPoints = new CRLDistributionPoints(distributionPoint);
Any further distribution point can be added by using the addDistributionPoint
method:
cRLDistributionPoints.addDistributionPoint(<a_second_distribution_point>); ...
For adding a CRLDistributionPoints
extension object to a X509Certificate, use
the addExtension
method of the iaik.x509.X509Certificate
class:
X505Certificate cert = new X509Certificate(); ... cert.addExtension(cRLDistributionPoints);
DistributionPoint
,
GeneralNames
,
Name
,
V3Extension
,
X509Extensions
,
X509Certificate
,
CRLDistPointsSyntax
Field Summary | |
static ObjectID |
oid
The object identifier of this CRLDistributionPoints extension. |
Fields inherited from class iaik.x509.V3Extension |
critical |
Constructor Summary | |
CRLDistributionPoints()
Default constructor. |
|
CRLDistributionPoints(DistributionPoint dp)
Creates an CRLDistributionPoints object and adds an DistributionPoint.
|
Method Summary | |
ObjectID |
getObjectID()
Returns the object ID of this CRLDistributionPoints extension |
int |
hashCode()
Returns a hashcode for this identity. |
Methods inherited from class iaik.x509.extensions.CRLDistPointsSyntax |
addDistributionPoint, getDistributionPoints, init, removeAllDistributionPoints, toASN1Object, toString |
Methods inherited from class iaik.x509.V3Extension |
getName, isCritical, setCritical |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final ObjectID oid
Constructor Detail |
public CRLDistributionPoints()
CRLDistributionPoints
object.
For adding a distribution point use the addDistributionPoint
method. Any distribution point to be
added has to be of type iaik.asn1.structures.DistributionPoint
, e.g.:
GeneralNames distName = new GeneralNames(); distName.addName(new GeneralName(GeneralName.uniformResourceIdentifier, "http://ca.iaik.com/test.crl")); DistributionPoint distributionPoint = new DistributionPoint(distName); distributionPoint.setReasonFlags(DistributionPoint.keyCompromise); CRLDistributionPoints cRLDistributionPoints = new CRLDistributionPoints(); cRLDistributionPoints.addDistributionPoint(distributionPoint);
DistributionPoint
public CRLDistributionPoints(DistributionPoint dp)
CRLDistributionPoints
object and adds an DistributionPoint.
The distribution point to be added has to be of type
iaik.asn1.structures.DistributionPoint
, e.g.:
RDN distributionPointName = new RDN(); distributionPointName.addAVA(ObjectID.country, "AT"); distributionPointName.addAVA(ObjectID.locality, "Graz"); distributionPointName.addAVA(ObjectID.organization ,"TU Graz"); distributionPointName.addAVA(ObjectID.organizationalUnit ,"IAIK"); distributionPointName.addAVA(ObjectID.commonName ,"http://ca.iaik.com/"); DistributionPoint distributionPoint = new DistributionPoint(distributionPointName); CRLDistributionPoints cRLDistributionPoints = new CRLDistributionPoints(distributionPoint);
dp
- the distribution point to addDistributionPoint
Method Detail |
public ObjectID getObjectID()
CRLDistributionPoints
extensiongetObjectID
in class V3Extension
public int hashCode()
hashCode
in class V3Extension
|
This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |