iaik.x509.extensions.qualified.structures
Class SemanticsInformation

java.lang.Object
  |
  +--iaik.x509.extensions.qualified.structures.QCStatementInfo
        |
        +--iaik.x509.extensions.qualified.structures.SemanticsInformation

public class SemanticsInformation
extends QCStatementInfo

This class implements the SemanticsInformation QCStatementInfo.

The SemanticsInformation statement info is associated with a specific statement identifier, derived from:

     id-pkix  OBJECT IDENTIFIER  ::=
             { iso(1) identified-organization(3) dod(6) internet(1)
                     security(5) mechanisms(5) pkix(7) }

     id-qcs OBJECT IDENTIFIER  ::=  { id-pkix 11 }

     id-qcs-pkixQCSyntax-v1 OBJECT IDENTIFIER ::= { id-qcs 1 }
 

which corresponds to the OID string "1.3.6.1.5.5.7.11.1".

The PKIX Qualified Certificate Profile specifies the SemanticsInformation statement info for indicating conformance with syntax and semantics of the profile.

ASN.1 definition:

 SemanticsInformation ::= SEQUENCE {
   semanticsIdentifier  OBJECT IDENTIFIER   OPTIONAL,
   nameRegistrationAutorities NameRegistrationAutorities OPTIONAL }
 
NameRegistrationAutorities ::= SEQUENCE SIZE (1..MAX) OF GeneralName

It is not allowed that both fields semanticsIdentifier and nameRegistrationAutorities are null. The semanticsIdentifier field may be used for defining semantics for attributes and names in basic certificate fields and extensions. The nameRegistrationAutorities field may contain names of one or more name registration authorities responsible for registration of attributes of names associated with the subject. For more inforamtion refer to the actual PKIX Qualified Certificate Profile draft.

Supply semantics identifier and/or name registration autorities when creating a SemanticsInformation object. Subsequently create a QCStatement object for the SemanticsInformation and add the QCStatement to a QCStatements certificate extension, e.g.:

 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);
 

Version:
File Revision 12
See Also:
QCStatementInfo, QCStatement, QCStatements

Field Summary
static ObjectID statementID
          The statement id of the SemanticsInformation statement info.
 
Constructor Summary
SemanticsInformation()
          Default constructor.
SemanticsInformation(ObjectID semanticsIdentifier, GeneralName[] nameRegistrationAuthorities)
          Creates an SemanticsInformation object for the given sematics identifier and name registration authorities.
 
Method Summary
 void decode(ASN1Object obj)
          Decodes a SemanticsInformation from its ASN.1 representation.
 GeneralName[] getNameRegistrationAuthorities()
          Returns an array holding any name registration authorities included in this SemanticsInformation object.
 ObjectID getSemanticsIdentifier()
          Returns the semantics identifier of this SemanticsInformation.
 ObjectID getStatementID()
          Returns the statement ID identifying this SemanticsInformation statement info.
 ASN1Object toASN1Object()
          Returns an ASN1Object representing this SemanticsInformation object.
 String toString()
          Returns a string that represents the contents of this SemanticsInformation statement info.
 
Methods inherited from class iaik.x509.extensions.qualified.structures.QCStatementInfo
getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

statementID

public static final ObjectID statementID
The statement id of the SemanticsInformation statement info. The corresponding OID string is "1.3.6.1.5.5.7.11.1".
Constructor Detail

SemanticsInformation

public SemanticsInformation()
Default constructor. Creates an empty SemanticsInformation object. This constructor only is used for dynamic object creation and shall not be used by an application.

SemanticsInformation

public SemanticsInformation(ObjectID semanticsIdentifier,
                            GeneralName[] nameRegistrationAuthorities)
                     throws IllegalArgumentException
Creates an SemanticsInformation object for the given sematics identifier and name registration authorities.
Parameters:
semanticsIdentifier - the semantics identifier
nameRegistrationAuthorities - the name registration authorities to be included
Throws:
IllegalArgumentException - if both semanticsIdentifier and nameRegistrationAuthorities are null which is not allowed
Method Detail

getStatementID

public ObjectID getStatementID()
Returns the statement ID identifying this SemanticsInformation statement info. The corresponding OID string is "1.3.6.1.5.5.7.1.11.1".
Overrides:
getStatementID in class QCStatementInfo
Returns:
the statementID identifying this SemanticsInformation statement info

getSemanticsIdentifier

public ObjectID getSemanticsIdentifier()
Returns the semantics identifier of this SemanticsInformation.
Returns:
the semantics identifier

getNameRegistrationAuthorities

public GeneralName[] getNameRegistrationAuthorities()
Returns an array holding any name registration authorities included in this SemanticsInformation object.
Returns:
the name registration authorities included in this SemanticsInformation

decode

public void decode(ASN1Object obj)
            throws CodingException
Decodes a SemanticsInformation from its ASN.1 representation.

The given ASN1Object represents a SemanticsInformation statement info not including the statementID.

Overrides:
decode in class QCStatementInfo
Parameters:
obj - the SemanticsInformation as ASN1Object
Throws:
CodingException - if the object cannot be parsed

toASN1Object

public ASN1Object toASN1Object()
                        throws CodingException
Returns an ASN1Object representing this SemanticsInformation object.

The ASN1Object returned by this method represents a SemanticsInformation statement info not including the statementID.

Overrides:
toASN1Object in class QCStatementInfo
Returns:
this SemanticsInformation statement info as ASN1Object
Throws:
CodingException - if the ASN.1 object cannot be created because both semanticsIdentifer and nameRegistrationAuthorites are null, which is not allowed

toString

public String toString()
Returns a string that represents the contents of this SemanticsInformation statement info.
Overrides:
toString in class QCStatementInfo
Returns:
the string representation

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

IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK