IAIK PKCS#11 Wrapper
version 1.5

iaik.pkcs.pkcs11.parameters
Class SSL3KeyMaterialParameters

java.lang.Object
  |
  +--iaik.pkcs.pkcs11.parameters.SSL3KeyMaterialParameters
All Implemented Interfaces:
java.lang.Cloneable, Parameters

public class SSL3KeyMaterialParameters
extends java.lang.Object
implements Parameters

This class encapsulates parameters for the Mechanism.SSL3_KEY_AND_MAC_DERIVE mechanism.

Version:
1.0
Author:
Karl Scheibelhofer

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
 java.lang.Object clone()
          Create a (deep) clone of this object.
 boolean equals(java.lang.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.
 java.lang.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.
 java.lang.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.
Method Detail

clone

public java.lang.Object clone()
Create a (deep) clone of this object.
Overrides:
clone in class java.lang.Object
Returns:
A clone of this object.

getPKCS11ParamsObject

public java.lang.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.

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.

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.

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.

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.

getRandomInfo

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

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.

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.

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.

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.

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.

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.

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.

toString

public java.lang.String toString()
Returns the string representation of this object. Do not parse data from this string, it is for debugging only.
Overrides:
toString in class java.lang.Object
Returns:
A string representation of this object.

equals

public boolean equals(java.lang.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 java.lang.Object
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.

hashCode

public int hashCode()
The overriding of this method should ensure that the objects of this class work correctly in a hashtable.
Overrides:
hashCode in class java.lang.Object
Returns:
The hash code of this object.

IAIK PKCS#11 Wrapper
version 1.5

IAIK JavaSecurity Website http://jce.iaik.tugraz.at/

IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2004, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.
version 1.5