iaik.x509.extensions.qualified
Class BiometricInfo

java.lang.Object
  |
  +--iaik.x509.V3Extension
        |
        +--iaik.x509.extensions.qualified.BiometricInfo

public class BiometricInfo
extends V3Extension

This class implements the BiometricInfo Extension.

The BiometricInfo extension is a private internet extension introduced by the PKIX Qualified Certificate Profile.

The BiometricInfo 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 2 }
 

which corresponds to the OID string "1.3.6.1.5.5.7.1.2".

The Qualified Certificate profile specifies the BiometricInfo extension for including biometric information into a certificate.
ASN.1 definition:

 BiometricSyntax ::= SEQUENCE OF BiometricData
 

A BiometricData object holds the hash value corresponding to some specific biometric information which itsself is not included but may be referenced by means of an URI:

 BiometricData ::= SEQUENCE {
   typeOfBiometricData TypeOfBiometricData,
   hashAlgorithm       AlgorithmIdentifier,
   biometricDataHash   OCTET STRING,
   sourceDataUri       IA5String OPTIONAL }
 
The type of biometric data may either be a predefined one or an arbitrary one, latter incated by an object identifier:
 TypeOfBiometricData ::= CHOICE {
   predefinedBiometricType PredefinedBiometricType,
   biometricDataOid        OBJECT IDENTIFIER }
 
PredefinedBiometricType ::= INTEGER { picture(0), handwritten-signature(1)} (picture|handwritten-signature)

An BiometricInfo extension object may be created by either using the empty default constructor, or by directly supplying the BiometricData objects to be added as instances of BiometricData, e.g.:

 BiometricData[] biometricDatas = new BiometricData[1];
 AlgorithmID hashAlgorithm = AlgorithmID.sha1;
 byte[] biometricDataHash = ...;
 biometricDatas[0] = 
   new BiometricData(BiometricData.picture);
 String sourceDataUri = ...;
 biometricDatas[0].setBiometricDataHash(AlgorithmID.sha, sourceDataUri);
 // create a BiometricInfo extension object:
 BiometricInfo biometricInfo = new BiometricInfo(biometricDatas);
 

For adding a BiometricInfo extension object to a QualifiedCertificate, use the addExtension or setBiometricInfo method of the QualifiedCertificate class:

 QualifiedCertificate cert = new QualifiedCertificate();
   ...
 cert.setBiometricInfo(biometricInfo);
 

Version:
File Revision 10

Field Summary
static ObjectID oid
          The object identifier of this BiometricInfo extension.
 
Fields inherited from class iaik.x509.V3Extension
critical
 
Constructor Summary
BiometricInfo()
          Default constructor.
BiometricInfo(BiometricData[] biometricDatas)
          Creates an BiometricInfo object and adds the given BiometricData objects.
 
Method Summary
 BiometricData[] getBiometricDatas()
          Returns the BiometricData objects included in this BiometricInfo extension.
 ObjectID getObjectID()
          Returns the object ID of this BiometricInfo extension
 int hashCode()
          Returns a hashcode for this identity.
 void init(ASN1Object obj)
          Inits this BiometricInfo implementation with an ASN1object representing the value of this extension.
 void setBiometricDatas(BiometricData[] biometricDatas)
          Sets the BiometricData objects of this BiometricInfo extension.
 ASN1Object toASN1Object()
          Returns an ASN1Object representing the value of this BiometricInfo extension object.
 String toString()
          Returns a string that represents the contents of this BiometricInfo 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

oid

public static final ObjectID oid
The object identifier of this BiometricInfo extension. The corresponding OID string is "1.3.6.1.5.5.7.1.2".
Constructor Detail

BiometricInfo

public BiometricInfo()
Default constructor. Creates an empty BiometricInfo object.

For supplying the BiometricData objects (as instances of class BiometricData) to be included call method setBiometricDatas.


BiometricInfo

public BiometricInfo(BiometricData[] biometricDatas)
Creates an BiometricInfo object and adds the given BiometricData objects.
Parameters:
biometricDatas - the BiometricData objects to be included into this BiometricInfo extension
Method Detail

getObjectID

public ObjectID getObjectID()
Returns the object ID of this BiometricInfo extension
Overrides:
getObjectID in class V3Extension
Returns:
the object ID

setBiometricDatas

public void setBiometricDatas(BiometricData[] biometricDatas)
Sets the BiometricData objects of this BiometricInfo extension.
Parameters:
biometricDatas - the BiometricData objects to be included into this BiometricInfo extension

getBiometricDatas

public BiometricData[] getBiometricDatas()
Returns the BiometricData objects included in this BiometricInfo extension.
Returns:
the BiometricData objects included in this BiometricInfo

init

public void init(ASN1Object obj)
          throws X509ExtensionException
Inits this BiometricInfo implementation with an ASN1object representing the value of this extension.

The given ASN1Object consits of a Sequence of BiometricData objects included in the BiometricInfo 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 BiometricInfo 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.

Overrides:
init in class V3Extension
Parameters:
obj - the BiometricInfo as ASN1Object
Throws:
X509ExtensionException - if the extension could not be parsed

toASN1Object

public ASN1Object toASN1Object()
                        throws X509ExtensionException
Returns an ASN1Object representing the value of this BiometricInfo extension object.

The ASN1Object is an ASN.1 Sequence including any BiometricData that has been added to this BiometricInfo object.

 BiometricInfoSyntax  ::=
          SEQUENCE OF BiometricData
 
Overrides:
toASN1Object in class V3Extension
Returns:
the value of this BiometricInfo as ASN1Object

hashCode

public int hashCode()
Returns a hashcode for this identity.
Overrides:
hashCode in class V3Extension
Returns:
a hash code for this identity

toString

public String toString()
Returns a string that represents the contents of this BiometricInfo extension.
Overrides:
toString in class Object
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