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 RSAPrivateKey

    java.lang.Object
      iaik.pkcs.pkcs11.objects.Object
          iaik.pkcs.pkcs11.objects.Storage
              iaik.pkcs.pkcs11.objects.Key
                  iaik.pkcs.pkcs11.objects.PrivateKey
                      iaik.pkcs.pkcs11.objects.RSAPrivateKey

All Implemented Interfaces:
  Cloneable

public class RSAPrivateKey
extends PrivateKey

Objects of this class represent RSA private keys as specified by PKCS#11 v2.11.

Invariants
  (modulus_ <> null) and (publicExponent_ <> null) and (privateExponent_ <> null) and (prime1_ <> null) and (prime2_ <> null) and (exponent1_ <> null) and (exponent2_ <> null) and (coefficient_ <> 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 ByteArrayAttribute` | `coefficient_` The coefficient (1/q mod (p)) of this RSA key, for use with CRT.
`protected ByteArrayAttribute` | `exponent1_` The first exponent (d mod (p-1)) of this RSA key, for use with CRT.
`protected ByteArrayAttribute` | `exponent2_` The second exponent (d mod (q-1)) of this RSA key, for use with CRT.
`protected ByteArrayAttribute` | `modulus_` The modulus (n) of this RSA key.
`protected ByteArrayAttribute` | `prime1_` The first prime factor (p) of this RSA key, for use with CRT.
`protected ByteArrayAttribute` | `prime2_` The second prime factor (q) of this RSA key, for use with CRT.
`protected ByteArrayAttribute` | `privateExponent_` The private exponent (d) of this RSA key.
`protected ByteArrayAttribute` | `publicExponent_` The public exponent (e) of this RSA key.

Fields inherited from class iaik.pkcs.pkcs11.objects.PrivateKey
`alwaysSensitive_, authPinFlags_, decrypt_, extractable_, neverExtractable_, secondaryAuth_, sensitive_, sign_, signRecover_, subject_, unwrap_`

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
`` | `RSAPrivateKey()` Deafult Constructor.
`protected` | `RSAPrivateKey(Session session, long objectHandle)` Called by getInstance to create an instance of a PKCS#11 RSA private 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.
`ByteArrayAttribute` | `getCoefficient()` Gets the coefficient (1/q mod (p)) attribute of this RSA key.
`ByteArrayAttribute` | `getExponent1()` Gets the first exponent (d mod (p-1)) attribute of this RSA key.
`ByteArrayAttribute` | `getExponent2()` Gets the second exponent (d mod (q-1)) attribute of this RSA key.
`static Object` | `getInstance(Session session, long objectHandle)` The getInstance method of the PrivateKey class uses this method to create an instance of a PKCS#11 RSA private key.
`ByteArrayAttribute` | `getModulus()` Gets the modulus attribute of this RSA key.
`ByteArrayAttribute` | `getPrime1()` Gets the first prime attribute of this RSA key.
`ByteArrayAttribute` | `getPrime2()` Gets the second prime attribute of this RSA key.
`ByteArrayAttribute` | `getPrivateExponent()` Gets the private exponent attribute of this RSA key.
`ByteArrayAttribute` | `getPublicExponent()` Gets the public exponent attribute of this RSA key.
`protected static void` | `putAttributesInTable(RSAPrivateKey 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.PrivateKey
`getAlwaysSensitive, getAuthPinFlags, getDecrypt, getExtractable, getNeverExtractable, getSecondaryAuth, getSensitive, getSign, getSignRecover, getSubject, getUnknownPrivateKey, getUnwrap, putAttributesInTable`

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

### modulus_

    protected ByteArrayAttribute modulus_

  The modulus (n) of this RSA key.

### publicExponent_

    protected ByteArrayAttribute publicExponent_

  The public exponent (e) of this RSA key.

### privateExponent_

    protected ByteArrayAttribute privateExponent_

  The private exponent (d) of this RSA key.

### prime1_

    protected ByteArrayAttribute prime1_

  The first prime factor (p) of this RSA key, for use with CRT.

### prime2_

    protected ByteArrayAttribute prime2_

  The second prime factor (q) of this RSA key, for use with CRT.

### exponent1_

    protected ByteArrayAttribute exponent1_

  The first exponent (d mod (p-1)) of this RSA key, for use with CRT.

### exponent2_

    protected ByteArrayAttribute exponent2_

  The second exponent (d mod (q-1)) of this RSA key, for use with CRT.

### coefficient_

    protected ByteArrayAttribute coefficient_

  The coefficient (1/q mod (p)) of this RSA key, for use with CRT.

Constructor Detail

### RSAPrivateKey

    public RSAPrivateKey()

  Deafult Constructor.

Preconditions
Postconditions

### RSAPrivateKey

    protected RSAPrivateKey(Session session,
                            long objectHandle)
                     throws TokenException

  Called by getInstance to create an instance of a PKCS#11 RSA private 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 PrivateKey class uses this method to create an instance of a PKCS#11 RSA private 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.
  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)

### putAttributesInTable

    protected static void putAttributesInTable(RSAPrivateKey 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 `PrivateKey`
  Preconditions
  Postconditions

### clone

    public Object clone()

  Create a (deep) clone of this object.

  Overrides:
    `clone` in class `PrivateKey`
  Returns:
    A clone of this object.
  Preconditions
  Postconditions
    (result <> null) and (result instanceof RSAPrivateKey) 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 `PrivateKey`
  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

### getModulus

    public ByteArrayAttribute getModulus()

  Gets the modulus attribute of this RSA key.

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

### getPublicExponent

    public ByteArrayAttribute getPublicExponent()

  Gets the public exponent attribute of this RSA key.

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

### getPrivateExponent

    public ByteArrayAttribute getPrivateExponent()

  Gets the private exponent attribute of this RSA key.

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

### getPrime1

    public ByteArrayAttribute getPrime1()

  Gets the first prime attribute of this RSA key.

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

### getPrime2

    public ByteArrayAttribute getPrime2()

  Gets the second prime attribute of this RSA key.

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

### getExponent1

    public ByteArrayAttribute getExponent1()

  Gets the first exponent (d mod (p-1)) attribute of this RSA key.

  Returns:
    The first exponent (d mod (p-1)) attribute.
  Preconditions
  Postconditions
    (result <> null)

### getExponent2

    public ByteArrayAttribute getExponent2()

  Gets the second exponent (d mod (q-1)) attribute of this RSA key.

  Returns:
    The second exponent (d mod (q-1)) attribute.
  Preconditions
  Postconditions
    (result <> null)

### getCoefficient

    public ByteArrayAttribute getCoefficient()

  Gets the coefficient (1/q mod (p)) attribute of this RSA key.

  Returns:
    The coefficient (1/q mod (p)) 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 `PrivateKey`
  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 `PrivateKey`
  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.