IAIK PKCS#11 Wrapper
version 1.2.16

iaik.pkcs.pkcs11.parameters
Class SSL3KeyMaterialParameters

java.lang.Object
  extended byiaik.pkcs.pkcs11.parameters.SSL3KeyMaterialParameters
All Implemented Interfaces:
Cloneable, Parameters

public class SSL3KeyMaterialParameters
extends Object
implements Parameters

This class encapsulates parameters for the Mechanism.SSL3_KEY_AND_MAC_DERIVE mechanism.

Invariants
(randomInfo_ <> null) and (returnedKeyMaterial_ <> null)

Field Summary
protected  boolean export_
          Indicates whether the keys have to be derived for an export version of the protocol.
protected  long initializationVectorSizeInBits_
          The length (in bits) of the IV agreed upon during the protocol handshake phase.
protected  long keySizeInBits_
          The length (in bits) of the secret keys agreed upon during the protocol handshake phase.
protected  long macSizeInBits_
          The length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
protected  SSL3RandomDataParameters randomInfo_
          The client's and server's random data information.
protected  SSL3KeyMaterialOutParameters returnedKeyMaterial_
          Receives the handles for the keys generated and the IVs.
 
Constructor Summary
SSL3KeyMaterialParameters(long macSizeInBits, long keySizeInBits, long initializationVectorSizeInBits, boolean export, SSL3RandomDataParameters randomInfo, SSL3KeyMaterialOutParameters returnedKeyMaterial)
          Create a new SSL3KeyMaterialParameters object with the given parameters.
 
Method Summary
 Object clone()
          Create a (deep) clone of this object.
 boolean equals(Object otherObject)
          Compares all member variables of this object with the other object.
 long getInitializationVectorSizeInBits()
          Get the length (in bits) of the IV agreed upon during the protocol handshake phase.
 long getKeySizeInBits()
          Get the length (in bits) of the secret keys agreed upon during the protocol handshake phase.
 long getMacSizeInBits()
          Get the length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
 Object getPKCS11ParamsObject()
          Get this parameters object as a CK_SSL3_KEY_MAT_PARAMS object.
 SSL3RandomDataParameters getRandomInfo()
          Get the client's and server's random data information.
 SSL3KeyMaterialOutParameters getReturnedKeyMaterial()
          Get the object that receives the handles for the keys generated and the IVs.
 int hashCode()
          The overriding of this method should ensure that the objects of this class work correctly in a hashtable.
 boolean isExport()
          Check whether the keys have to be derived for an export version of the protocol.
 void isExport(boolean export)
          Set whether the keys have to be derived for an export version of the protocol.
 void setInitializationVectorSizeInBits(long initializationVectorSizeInBits)
          Set the length (in bits) of the IV agreed upon during the protocol handshake phase.
 void setKeySizeInBits(long keySizeInBits)
          Set the length (in bits) of the secret keys agreed upon during the protocol handshake phase.
 void setMacSizeInBits(long macSizeInBits)
          Set the length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
 void setRandomInfo(SSL3RandomDataParameters randomInfo)
          Set the client's and server's random data information.
 void setReturnedKeyMaterial(SSL3KeyMaterialOutParameters returnedKeyMaterial)
          Set the object that receives the handles for the keys generated and the IVs.
 String toString()
          Returns the string representation of this object.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

macSizeInBits_

protected long macSizeInBits_
The length (in bits) of the MACing keys agreed upon during the protocol handshake phase.


keySizeInBits_

protected long keySizeInBits_
The length (in bits) of the secret keys agreed upon during the protocol handshake phase.


initializationVectorSizeInBits_

protected long initializationVectorSizeInBits_
The length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.


export_

protected boolean export_
Indicates whether the keys have to be derived for an export version of the protocol.


randomInfo_

protected SSL3RandomDataParameters randomInfo_
The client's and server's random data information.


returnedKeyMaterial_

protected SSL3KeyMaterialOutParameters returnedKeyMaterial_
Receives the handles for the keys generated and the IVs.

Constructor Detail

SSL3KeyMaterialParameters

public SSL3KeyMaterialParameters(long macSizeInBits,
                                 long keySizeInBits,
                                 long initializationVectorSizeInBits,
                                 boolean export,
                                 SSL3RandomDataParameters randomInfo,
                                 SSL3KeyMaterialOutParameters returnedKeyMaterial)
Create a new SSL3KeyMaterialParameters object with the given parameters.

Parameters:
macSizeInBits - The length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
keySizeInBits - The length (in bits) of the secret keys agreed upon during the protocol handshake phase.
initializationVectorSizeInBits - The length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.
export - Indicates whether the keys have to be derived for an export version of the protocol.
randomInfo - The client's and server's random data information.
returnedKeyMaterial - Receives the handles for the keys generated and the IVs.
Preconditions
(randomInfo <> null) and (returnedKeyMaterial <> null)
Postconditions
Method Detail

clone

public Object clone()
Create a (deep) clone of this object.

Returns:
A clone of this object.
Preconditions
Postconditions
(result <> null) and (result instanceof SSL3KeyMaterialParameters) and (result.equals(this))

getPKCS11ParamsObject

public Object getPKCS11ParamsObject()
Get this parameters object as a CK_SSL3_KEY_MAT_PARAMS object.

Specified by:
getPKCS11ParamsObject in interface Parameters
Returns:
This object as a CK_SSL3_KEY_MAT_PARAMS object.
Preconditions
Postconditions
(result <> null)

getMacSizeInBits

public long getMacSizeInBits()
Get the length (in bits) of the MACing keys agreed upon during the protocol handshake phase.

Returns:
The length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
Preconditions
Postconditions

getKeySizeInBits

public long getKeySizeInBits()
Get the length (in bits) of the secret keys agreed upon during the protocol handshake phase.

Returns:
The length (in bits) of the secret keys agreed upon during the protocol handshake phase.
Preconditions
Postconditions

getInitializationVectorSizeInBits

public long getInitializationVectorSizeInBits()
Get the length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.

Returns:
The length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.
Preconditions
Postconditions

isExport

public boolean isExport()
Check whether the keys have to be derived for an export version of the protocol.

Returns:
True, if the keys have to be derived for an export version of the protocol; false, otherwise.
Preconditions
Postconditions

getRandomInfo

public SSL3RandomDataParameters getRandomInfo()
Get the client's and server's random data information.

Returns:
The client's and server's random data information.
Preconditions
Postconditions
(result <> null)

getReturnedKeyMaterial

public SSL3KeyMaterialOutParameters getReturnedKeyMaterial()
Get the object that receives the handles for the keys generated and the IVs.

Returns:
The object that receives the handles for the keys generated and the IVs.
Preconditions
Postconditions
(result <> null)

setMacSizeInBits

public void setMacSizeInBits(long macSizeInBits)
Set the length (in bits) of the MACing keys agreed upon during the protocol handshake phase.

Parameters:
macSizeInBits - The length (in bits) of the MACing keys agreed upon during the protocol handshake phase.
Preconditions
Postconditions

setKeySizeInBits

public void setKeySizeInBits(long keySizeInBits)
Set the length (in bits) of the secret keys agreed upon during the protocol handshake phase.

Parameters:
keySizeInBits - The length (in bits) of the secret keys agreed upon during the protocol handshake phase.
Preconditions
Postconditions

setInitializationVectorSizeInBits

public void setInitializationVectorSizeInBits(long initializationVectorSizeInBits)
Set the length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.

Parameters:
initializationVectorSizeInBits - The length (in bits) of the IV agreed upon during the protocol handshake phase. If no IV is required, the length should be set to 0.
Preconditions
Postconditions

isExport

public void isExport(boolean export)
Set whether the keys have to be derived for an export version of the protocol.

Parameters:
export - True, if the keys have to be derived for an export version of the protocol; false, otherwise.
Preconditions
Postconditions

setRandomInfo

public void setRandomInfo(SSL3RandomDataParameters randomInfo)
Set the client's and server's random data information.

Parameters:
randomInfo - The client's and server's random data information.
Preconditions
(randomInfo <> null)
Postconditions

setReturnedKeyMaterial

public void setReturnedKeyMaterial(SSL3KeyMaterialOutParameters returnedKeyMaterial)
Set the object that receives the handles for the keys generated and the IVs.

Parameters:
returnedKeyMaterial - The object that receives the handles for the keys generated and the IVs.
Preconditions
(returnedKeyMaterial <> null)
Postconditions

toString

public String toString()
Returns the string representation of this object. Do not parse data from this string, it is for debugging only.

Returns:
A string representation of this object.

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.

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

hashCode

public int hashCode()
The overriding of this method should ensure that the objects of this class work correctly in a hashtable.

Returns:
The hash code of this object.
Preconditions
Postconditions

IAIK PKCS#11 Wrapper
version 1.2.16

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.