|
|||||||||
| 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.IssuingDistributionPoint
This class implements the IssuingDistributionPoint extension.
The IssuingDistributionPoint extension is a critical
standard X509v2 CRL extension which may or may not be supported by
implementations conforming to RFC2459.
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 IssuingDistributionPoint extension
is defined as:
id-ce-IssuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 }
which corresponds to the OID string "2.5.29.28".
The X.509 Certificate and CRL profile presented in RFC 2459 specifies the IssuingDistributionPoint extension for identifying the CRL distribution point for a particular CRL, and it indicates whether the CRL covers revocation for end entity certificates only, CA certificates only, or a limitied set of reason codes.
ASN.1 definition:
issuingDistributionPoint ::= SEQUENCE {
distributionPoint [0] DistributionPointName OPTIONAL,
onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
onlySomeReasons [3] ReasonFlags OPTIONAL,
indirectCRL [4] BOOLEAN DEFAULT FALSE,
onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
For adding a IssuingDistributionPoint extension object to a X509v2 certificate revocation
list, use the addExtension method of the iaik.x509.X509CRL class, e.g.:
IssuingDistributionPoint issuingDistributionPoint = new IssuingDistributionPoint(); GeneralName dpName = new GeneralName(GeneralName.uniformResourceIdentifier, "http://www.test-ca.at/repository"); issuingDistributionPoint.setDistributionPointName(dpName); issuingDistributionPoint.setOnlyContainsUserCerts(true); issuingDistributionPoint.setReasonFlags(DistributionPoint.keyCompromise); X505CRL crl = new X509CRL(); ... crl.addExtension(issuingDistributionPoint);
V3Extension,
X509Extensions,
X509CRL| Field Summary | |
static ObjectID |
oid
The object identifier of this IssuingDistributionPoint extension. |
| Fields inherited from class iaik.x509.V3Extension |
critical |
| Constructor Summary | |
IssuingDistributionPoint()
Default constructor. |
|
| Method Summary | |
ASN1Type |
getDistributionPointName()
Returns the distribution point name of this issuing distribution point. |
boolean |
getIndirectCRL()
Returns whether the crl is an indirect crl. |
ObjectID |
getObjectID()
Returns the object ID of this IssuingDistributionPoint extension. |
boolean |
getOnlyContainsAttributeCerts()
Returns whether the CRL only contains attribute certs. |
boolean |
getOnlyContainsCaCerts()
Returns whether the CRL only contains ca certs. |
boolean |
getOnlyContainsUserCerts()
Returns whether the CRL only contains user certs. |
int |
getReasonFlags()
Returns the reason flags specification of this distribution point. |
int |
hashCode()
Returns a hashcode for this identity. |
void |
init(ASN1Object obj)
Inits this IssuingDistributionPoint implementation with an ASN1object
representing the value of this extension.
|
void |
setDistributionPointName(ASN1Type distributionPointName)
Sets the distribution point name parameter of this extension. |
void |
setIndirectCRL(boolean indirectCRL)
Decides whether the crl is an indirect crl. |
void |
setOnlyContainsAttributeCerts(boolean onlyContainsAttributeCerts)
Decides whether the CRL only contains attribute cert entries. |
void |
setOnlyContainsCaCerts(boolean onlyContainsCaCerts)
Decides whether the CRL only contains ca certs. |
void |
setOnlyContainsUserCerts(boolean onlyContainsUserCerts)
Decides whether the CRL only contains user certs. |
void |
setReasonFlags(int reasonFlags)
Sets the reason flags (onlySomeReasons) parameter of this extension. |
ASN1Object |
toASN1Object()
Returns an ASN1Object representing the value of this IssuingDistributionPoint
extension object. |
String |
toString()
Returns a string that represents the contents of this IssuingDistributionPoint
extension. |
| 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 IssuingDistributionPoint()
IssuingDistributionPoint object.
Use the any of the setValue methods for supplying proper
values to this IssuingDistributionPoint.| Method Detail |
public ObjectID getObjectID()
IssuingDistributionPoint extension.getObjectID in class V3Extension
public void init(ASN1Object obj)
throws X509ExtensionException
IssuingDistributionPoint implementation with an ASN1object
representing the value of this extension.
The given ASN1Object is the one created by toASN1Object().
This method is used by the X509Extensions class when parsing the ASN.1 representation
of a CRL for properly initializing an included
IssuingDistributionPoint extension. This method initializes the
extension only with its value, but not with its critical
specification. For that reason, this method shall not be
explicitly called by an application.
init in class V3Extensionobj - the IssuingDistributionPoint as ASN1ObjectX509ExtensionException - if an error occurs when parsing the
ASN.1 object
public ASN1Object toASN1Object()
throws X509ExtensionException
IssuingDistributionPoint
extension object.toASN1Object in class V3ExtensionIssuingDistributionPoint as ASN1ObjectX509ExtensionException - if an error occurs when creating the ASN.1 objectpublic int hashCode()
hashCode in class V3Extension
public void setDistributionPointName(ASN1Type distributionPointName)
throws IllegalArgumentException
Only instances of RDN or GeneralNames are accepted!
For instance:
RDN distributionPointName = new RDN(); distributionPointName.addAVA(ObjectID.country, "AT"); distributionPointName.addAVA(ObjectID.locality, "Graz"); distributionPointName.addAVA(ObjectID.organization ,"UT Graz"); distributionPointName.addAVA(ObjectID.organizationalUnit ,"IAIK"); distributionPointName.addAVA(ObjectID.commonName ,"http://ca.iaik.com/"); IssuingDistributionPoint issuingDistributionPoint = new IssuingDistributionPoint(); issuingDistributionPoint.setDistributionPointName(distributionPointName);
distributionPointName - the name to be setIllegalArgumentException - if the given name is not an instance of RDN
or GeneralNamesGeneralNames,
RDNpublic void setOnlyContainsUserCerts(boolean onlyContainsUserCerts)
onlyContainsUserCerts - whether the crl only contains user certspublic void setOnlyContainsCaCerts(boolean onlyContainsCaCerts)
onlyContainsCaCerts - whether the crl only contains ca certspublic void setReasonFlags(int reasonFlags)
Use the static parameters defined in iaik.asn1.structures.DistributionPoint for setting the reason flags.
For instance:
issuingDistributionPoint.setReasonFlags(DistributionPoint.keyCompromise);
reasonFlags - the reasons value as intpublic void setIndirectCRL(boolean indirectCRL)
indirectCRL - whether the crl is an indirect crlpublic void setOnlyContainsAttributeCerts(boolean onlyContainsAttributeCerts)
onlyContainsAttributeCerts - whether the crl only contains attribute certspublic ASN1Type getDistributionPointName()
GeneralNames or as RDNGeneralNames,
RDNpublic boolean getOnlyContainsUserCerts()
public boolean getOnlyContainsCaCerts()
public int getReasonFlags()
Note the "big endian" representation of the BIT STRING representing the
reason flag value of this DistributionPoint: the least significant
bit indicates the reason flag with the lowest bit value, meaning that the integer
value 1 specifies the "unused" flag, and the integer value 64 (binary 1000000,
hexadecimal 40) specifies the "certificateHold" purpose.
intpublic boolean getIndirectCRL()
public boolean getOnlyContainsAttributeCerts()
public String toString()
IssuingDistributionPoint
extension.toString in class Object
|
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 | ||||||||
IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK