Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| IAIK PKCS#11 Wrapper version 1.2.16
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## iaik.pkcs.pkcs11.objects
Class PublicKey

    java.lang.Object
      iaik.pkcs.pkcs11.objects.Object
          iaik.pkcs.pkcs11.objects.Storage
              iaik.pkcs.pkcs11.objects.Key
                  iaik.pkcs.pkcs11.objects.PublicKey

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  DHPublicKey, DSAPublicKey, ECDSAPublicKey, KEAPublicKey, RSAPublicKey, X942DHPublicKey

public class PublicKey
extends Key

This is the base class for public (asymmetric) keys. Objects of this class represent public keys as specified by PKCS#11 v2.11.

Invariants
  (subject_ <> null) and (encrypt_ <> null) and (verify_ <> null) and (verifyRecover_ <> null) and (wrap_ <> null)

Nested Class Summary

Nested classes inherited from class iaik.pkcs.pkcs11.objects.Key
`Key.KeyType, Key.VendorDefinedKeyBuilder`

Nested classes inherited from class iaik.pkcs.pkcs11.objects.Object
`Object.ObjectClass, Object.VendorDefinedObjectBuilder`

Field Summary
`protected BooleanAttribute` | `encrypt_` True, if this public key can be used for encryption.
`protected ByteArrayAttribute` | `subject_` The subject attribute of this public key.
`protected BooleanAttribute` | `verify_` True, if this public key can be used for verification.
`protected BooleanAttribute` | `verifyRecover_` True, if this public key can be used for encryption with recovery.
`protected BooleanAttribute` | `wrap_` True, if this public key can be used for wrapping other keys.

Fields inherited from class iaik.pkcs.pkcs11.objects.Key
`derive_, endDate_, id_, keyGenMechanism_, keyType_, keyTypeNames_, local_, startDate_, vendorKeyBuilder_`

Fields inherited from class iaik.pkcs.pkcs11.objects.Storage
`label_, modifiable_, private_, token_`

Fields inherited from class iaik.pkcs.pkcs11.objects.Object
`attributeTable_, objectClass_, objectClassNames_, objectHandle_, vendorObjectBuilder_`

Constructor Summary
`` | `PublicKey()` Deafult Constructor.
`protected` | `PublicKey(Session session, long objectHandle)` Called by sub-classes to create an instance of a PKCS#11 public key.

Method Summary
`protected void` | `allocateAttributes()` Allocates the attribute objects for this class and adds them to the attribute table.
`Object` | `clone()` Create a (deep) clone of this object.
`boolean` | `equals(Object otherObject)` Compares all member variables of this object with the other object.
`BooleanAttribute` | `getEncrypt()` Gets the encrypt attribute of this key.
`static Object` | `getInstance(Session session, long objectHandle)` The getInstance method of the Object class uses this method to create an instance of a PKCS#11 public key.
`ByteArrayAttribute` | `getSubject()` Gets the subject attribute of this key.
`protected static Object` | `getUnknownPublicKey(Session session, long objectHandle)` Try to create a key which has no or an unkown public key type type attribute.
`BooleanAttribute` | `getVerify()` Gets the verify attribute of this key.
`BooleanAttribute` | `getVerifyRecover()` Gets the verify recover attribute of this key.
`BooleanAttribute` | `getWrap()` Gets the wrap attribute of this key.
`protected static void` | `putAttributesInTable(PublicKey object)` Put all attributes of the given object into the attributes table of this object.
`void` | `readAttributes(Session session)` Read the values of the attributes of this object from the token.
`String` | `toString()` This method returns a string representation of the current object.

Methods inherited from class iaik.pkcs.pkcs11.objects.Key
`getDerive, getEndDate, getId, getKeyGenMechanism, getKeyType, getKeyTypeName, getLocal, getStartDate, getVendorDefinedKeyBuilder, hashCode, putAttributesInTable, setVendorDefinedKeyBuilder`

Methods inherited from class iaik.pkcs.pkcs11.objects.Storage
`getLabel, getModifiable, getPrivate, getToken, putAttributesInTable`

Methods inherited from class iaik.pkcs.pkcs11.objects.Object
`getAttributeTable, getAttributeValue, getObjectClass, getObjectClassName, getObjectHandle, getSetAttributes, getSetAttributes, getUnknownObject, getVendorDefinedObjectBuilder, putAttributesInTable, setObjectHandle, setVendorDefinedObjectBuilder`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### subject_

    protected ByteArrayAttribute subject_

  The subject attribute of this public key.

### encrypt_

    protected BooleanAttribute encrypt_

  True, if this public key can be used for encryption.

### verify_

    protected BooleanAttribute verify_

  True, if this public key can be used for verification.

### verifyRecover_

    protected BooleanAttribute verifyRecover_

  True, if this public key can be used for encryption with recovery.

### wrap_

    protected BooleanAttribute wrap_

  True, if this public key can be used for wrapping other keys.

Constructor Detail

### PublicKey

    public PublicKey()

  Deafult Constructor.

Preconditions
Postconditions

### PublicKey

    protected PublicKey(Session session,
                        long objectHandle)
                 throws TokenException

  Called by sub-classes to create an instance of a PKCS#11 public key.

Parameters:
  `session` - The session to use for reading attributes. This session must have the appropriate rights; i.e. it must be a user-session, if it is a private object.
  `objectHandle` - The object handle as given from the PKCS#111 module.
Throws:
  `TokenException` - If getting the attributes failed.
Preconditions
  (session <> null)
Postconditions

Method Detail

### getInstance

    public static Object getInstance(Session session,
                                     long objectHandle)
                              throws TokenException

  The getInstance method of the Object class uses this method to create an instance of a PKCS#11 public key. This method reads the key type attribute and calls the getInstance method of the according sub-class. If the key type is a vendor defined it uses the VendorDefinedKeyBuilder set by the application. If no public key could be constructed, this method returns null.

  Parameters:
    `session` - The session to use for reading attributes. This session must have the appropriate rights; i.e. it must be a user-session, if it is a private object.
    `objectHandle` - The object handle as given from the PKCS#111 module.
  Returns:
    The object representing the PKCS#11 object. The returned object can be casted to the according sub-class.
  Throws:
    `TokenException` - If getting the attributes failed.
  Preconditions
    (session <> null)
  Postconditions
    (result <> null)

### getUnknownPublicKey

    protected static Object getUnknownPublicKey(Session session,
                                                long objectHandle)
                                         throws TokenException

  Try to create a key which has no or an unkown public key type type attribute. This implementation will try to use a vendor defined key builder, if such has been set. If this is impossible or fails, it will create just a simple `PublicKey` .

  Parameters:
    `session` - The session to use.
    `objectHandle` - The handle of the object
  Returns:
    A new Object.
  Throws:
    `TokenException` - If no object could be created.
  Preconditions
    (session <> null)
  Postconditions
    (result <> null)

### putAttributesInTable

    protected static void putAttributesInTable(PublicKey object)

  Put all attributes of the given object into the attributes table of this object. This method is only static to be able to access invoke the implementation of this method for each class separately (see use in clone()).

  Parameters:
    `object` - The object to handle.
  Preconditions
    (object <> null)
  Postconditions

### allocateAttributes

    protected void allocateAttributes()

  Allocates the attribute objects for this class and adds them to the attribute table.

  Overrides:
    `allocateAttributes` in class `Key`
  Preconditions
  Postconditions

### clone

    public Object clone()

  Create a (deep) clone of this object.

  Overrides:
    `clone` in class `Key`
  Returns:
    A clone of this object.
  Preconditions
  Postconditions
    (result <> null) and (result instanceof PublicKey) and (result.equals(this))

### equals

    public boolean equals(Object otherObject)

  Compares all member variables of this object with the other object. Returns only true, if all are equal in both objects.

  Overrides:
    `equals` in class `Key`
  Parameters:
    `otherObject` - The other object to compare to.
  Returns:
    True, if other is an instance of this class and all member variables of both objects are equal. False, otherwise.
  Preconditions
  Postconditions

### getSubject

    public ByteArrayAttribute getSubject()

  Gets the subject attribute of this key.

  Returns:
    The subject attribute.
  Preconditions
  Postconditions
    (result <> null)

### getEncrypt

    public BooleanAttribute getEncrypt()

  Gets the encrypt attribute of this key.

  Returns:
    The encrypt attribute.
  Preconditions
  Postconditions
    (result <> null)

### getVerify

    public BooleanAttribute getVerify()

  Gets the verify attribute of this key.

  Returns:
    The verify attribute.
  Preconditions
  Postconditions
    (result <> null)

### getVerifyRecover

    public BooleanAttribute getVerifyRecover()

  Gets the verify recover attribute of this key.

  Returns:
    The verify recover attribute.
  Preconditions
  Postconditions
    (result <> null)

### getWrap

    public BooleanAttribute getWrap()

  Gets the wrap attribute of this key.

  Returns:
    The wrap attribute.
  Preconditions
  Postconditions
    (result <> null)

### readAttributes

    public void readAttributes(Session session)
                        throws TokenException

  Read the values of the attributes of this object from the token.

  Overrides:
    `readAttributes` in class `Key`
  Parameters:
    `session` - The session handle to use for reading attributes. This session must have the appropriate rights; i.e. it must be a user-session, if it is a private object.
  Throws:
    `TokenException` - If getting the attributes failed.
  Preconditions
    (session <> null)
  Postconditions

### toString

    public String toString()

  This method returns a string representation of the current object. The output is only for debugging purposes and should not be used for other purposes.

  Overrides:
    `toString` in class `Key`
  Returns:
    A string presentation of this object for debugging output.
  Preconditions
  Postconditions
    (result <> null)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| IAIK PKCS#11 Wrapper version 1.2.16
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

IAIK JavaSecurity Website http://jce.iaik.tugraz.at/
IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2002, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.