|
|||||||||
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.qualified.QCStatements
This class implements the QCStatements
Extension.
The QCStatements
extension is a private internet extension
introduced by the PKIX
Qualified Certificate Profile.
The QCStatements extension is associated with a specific certificateExtension
object identifier, derived from:
id-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) } id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 3 }
which corresponds to the OID string "1.3.6.1.5.5.7.1.3".
The Qualified Certificate profile specifies the QCStatements extension for
including defined statements related to a qualified certificate.
ASN.1 definition:
QCStatements ::= SEQUENCE OF QCStatement
Each QC statement itsself consists of an object identifier and an optional statement info identified by the object identifer (statement ID):
QCStatement ::= SEQUENCE { statementId OBJECT IDENTIFIER, statementInfo ANY DEFINED BY statementId OPTIONAL }The QCStatement type is implemented by class
QCStatement
which includes a static part to be used for registering implementations
for particular (private) statement infos. A statement info may be implemented by
extending the abstract QCStatementInfo
class and registering it by calling the static register
method
of class QCStatement
, e.g.:
public class MyQCStatementInfo extends QCStatementInfo { ... // the statement id: public static final ObjectID statementID = ...; ... } ... // register the implementation: QCStatement.register(MyQCStatementInfo.statementID, MyQCStatementInfo.class);The Qualified Certificate Profile currently defines one statement info which already is implemented and registered: For any desired QCStatementInfo to be included into a qualified certificate create a
QCStatement
object
and subsequently add the QCStatement objects to a QCStatements
certificate extension. The following example creates a QCStatement for a SemanticsInformation
statement info and adds it to a QCStatements extension:
ObjectID semanticsIdentifier = ...; GeneralName[] nameRegistrationAuthorities = ...; // create the SemanticsInformation: SemanticsInformation semanticsInformation = new SemanticsInformation(semanticsIdentifier, nameRegistrationAuthorities); // create a QCStatement for the SemanticsInformation: QCStatement[] qcStatements = ...; qcStatements[0] = new QCStatement(semanticsInformation); // add any further QCStatements ... // Create a QCStatements extension from the QCStatements: QCStatements qcStatementsExt = new QCStatements(qcStatements);For adding a
QCStatements
extension object to a QualifiedCertificate, use
the addExtension
or setQCStatements
method of the QualifiedCertificate
class:
QualifiedCertificate cert = new QualifiedCertificate(); ... cert.setQCStatements(qcStatementsExt);
QCStatementInfo
,
QCStatement
Field Summary | |
static ObjectID |
oid
The object identifier of this QCStatements extension. |
Fields inherited from class iaik.x509.V3Extension |
critical |
Constructor Summary | |
QCStatements()
Default constructor. |
|
QCStatements(QCStatement[] qcStatements)
Creates an QCStatements object and adds
the given QCStatement objects. |
Method Summary | |
ObjectID |
getObjectID()
Returns the object ID of this QCStatements extension |
QCStatement[] |
getQCStatements()
Returns the QCStatement objects included in this QCStatements extension. |
QCStatement |
getQCStatements(ObjectID statementID)
Searches this QCStatements extension for an QCStatement with the given statementID. |
int |
hashCode()
Returns a hashcode for this identity. |
void |
init(ASN1Object obj)
Inits this QCStatements implementation with an ASN1object
representing the value of this extension.
|
void |
setQCStatements(QCStatement[] qcStatements)
Sets the QCStatement objects of this QCStatements extension. |
ASN1Object |
toASN1Object()
Returns an ASN1Object representing the value of this QCStatements
extension object.
|
String |
toString()
Returns a string that represents the contents of this QCStatements 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 QCStatements()
QCStatements
object.public QCStatements(QCStatement[] qcStatements)
QCStatements
object and adds
the given QCStatement objects.qcStatements
- the QCStatement objects to be included into
this QCStatements extensionMethod Detail |
public ObjectID getObjectID()
QCStatements
extensiongetObjectID
in class V3Extension
public void setQCStatements(QCStatement[] qcStatements)
qcStatements
- the QCStatement objects to be included into this
QCStatements extensionpublic QCStatement[] getQCStatements()
public QCStatement getQCStatements(ObjectID statementID)
statementID
- the statementID to search fornull
if no statement with the requested ID is includedpublic void init(ASN1Object obj) throws X509ExtensionException
QCStatements
implementation with an ASN1object
representing the value of this extension.
The given ASN1Object consits of a Sequence of QCStatement objects
included in the QCStatements
object.
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 certificate for properly initializing an included
QCStatements 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 V3Extension
obj
- the QCStatements as ASN1ObjectX509ExtensionException
- if the extension could not be parsedpublic ASN1Object toASN1Object() throws X509ExtensionException
QCStatements
extension object.
The ASN1Object is an ASN.1 Sequence including any QCStatement that has been
added to this QCStatements
object.
QCStatements ::= SEQUENCE OF QCStatement
toASN1Object
in class V3Extension
QCStatements
as ASN1Objectpublic int hashCode()
hashCode
in class V3Extension
public String toString()
QCStatements
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 |