public class LunaXPLib extends java.lang.Object implements CkiLibrary
The default mapping used in CkiSlotManager.initializeCryptoki for the LunaXP driver is:
Diffie Hellman YES DSA YES RSA YES Message Digest YES Symmetric Cipher YES RandomBitsSource YES Cloning Mechanisms YES Managed State YES Signature Mechanisms YESWhen creating a new
CkiParams
object for LunaXP, the new object will be initialized with these values.Constructor and Description |
---|
LunaXPLib() |
Modifier and Type | Method and Description |
---|---|
boolean |
closeAllSessions(long slotID) |
boolean |
closeSession(long session, boolean hasLoginRequired) |
long |
createObject(long[] attrType, java.lang.Object[] values, long session) |
byte[] |
decrypt(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session) |
byte[] |
decryptFinal(long session) |
void |
decryptInit(long mecha, long[] attrType, java.lang.Object[] values, long handleKey, long session) |
byte[] |
decryptUpdate(byte[] data, long session) |
long |
deriveKey(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypeKey, java.lang.Object[] valuesKey, long handleKey, long session) |
byte[] |
digest(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long session) |
java.lang.Object[] |
digestAndDecryptSSL3(boolean useManagedState, byte[] operationState, byte[] secret, byte[] seqNumb, byte type, byte[] pad1, byte[] pad2, byte[] content, long macSize, long cipherMechanism, long[] attrType, java.lang.Object[] values, long digestMechanism, long blocksize, long keyHandle, long session) |
java.lang.Object[] |
digestAndEncryptSSL3(boolean useManagedState, byte[] operationState, byte[] secret, byte[] seqNumb, byte type, byte[] length, byte[] pad1, byte[] pad2, byte[] content, long macSize, long cipherMechanism, long[] attrType, java.lang.Object[] values, long digestMechanism, long blocksize, long keyHandle, long session) |
byte[] |
digestFinal(long session) |
void |
digestInit(long mecha, long[] attrType, java.lang.Object[] values, long session) |
void |
digestKey(long key, long session) |
void |
digestUpdate(byte[] data, long session) |
byte[] |
encrypt(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session) |
byte[] |
encryptFinal(long session) |
void |
encryptInit(long mecha, long[] attrType, java.lang.Object[] values, long handleKey, long session) |
byte[] |
encryptUpdate(byte[] data, long session) |
void |
finalizeOp() |
long |
findObject(long[] attrType, java.lang.Object[] values, long session) |
long |
generateMasterSecret(byte[] clientRandom, byte[] serverRandom, long[] attrType, java.lang.Object[] values, long preMasterSecret, long session) |
long |
generateMS(byte[] clientRandom, byte[] serverRandom, long[] attrType, java.lang.Object[] values, long preMasterSecret, long session) |
byte[] |
generateRandom(long randomLen, long session) |
java.lang.Object[] |
generateSecrets(byte[] clientRandom, byte[] serverRandom, long macSize, long keySize, long ivSize, boolean isExportable, long[] attrType, java.lang.Object[] values, long masterSecret, long session) |
byte[] |
generateSSL3MAC(byte[] secret, byte[] seqNumb, byte type, byte[] length, byte[] pad1, byte[] pad2, byte[] content, long macSize, long mechanism, long session) |
byte[] |
generateSSL3MACHandshake(byte[] secret, byte[] pad1, byte[] pad2, byte[] label, byte[] content, long macSize, long mechanism, long session) |
byte[] |
generateSSL3MS(byte[] clientRandom, byte[] serverRandom, byte[] pms, long session) |
java.lang.Object[] |
generateSSL3Secrets(byte[] clientRandom, byte[] serverRandom, long macSize, long keySize, long expKeySize, long ivSize, boolean isExportable, byte[] ms, long keyType, boolean cipherInSoftware, long session) |
long |
genKey(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypeKey, java.lang.Object[] valuesKey, long session) |
long[] |
genKeyPair(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypePub, java.lang.Object[] valuesPub, long[] attrTypePriv, java.lang.Object[] valuesPriv, long session) |
java.lang.Object[] |
getAttributes(long handleObject, long[] attrType, long session) |
CkiParams |
getCkiParams() |
java.lang.Object[] |
getInfo() |
java.lang.Object[] |
getMechanism(long slotID) |
byte[] |
getOperationState(long session) |
long |
getSession(long slotID, boolean readOnly) |
java.lang.Object[] |
getSlotInfo(long slotID) |
long[] |
getSlotList() |
java.lang.Object[] |
getTokenInfo(long slotID) |
void |
initializeOp() |
void |
initPin(long session, java.lang.String pin) |
void |
initToken(long slotID, java.lang.String pinSO, java.lang.String tokenLabel) |
boolean |
isClosed(long session) |
long[] |
listObjects(long[] attrType, java.lang.Object[] values, long session) |
void |
login(long session, java.lang.String pin) |
void |
loginSO(long session, java.lang.String pinSO) |
long |
loginSOToken(long slotID, java.lang.String pinSO) |
long |
loginToken(long slotID, java.lang.String pin, boolean readOnly, boolean alreadyLoggedIn) |
boolean |
logoutToken(long session, boolean hasLoginRequired) |
void |
removeObject(long object, long session) |
boolean |
seed(byte[] dataSeed, long session) |
void |
setAttributes(long handleObject, long[] attrType, java.lang.Object[] values, long session) |
void |
setOperationState(byte[] value, long encKey, long sigKey, long session) |
void |
setPin(long session, java.lang.String oldPin, java.lang.String pin) |
byte[] |
sign(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session) |
long |
unwrap(long mecha, long[] attrType, java.lang.Object[] values, long handleUnwrappingKey, byte[] wrappedKey, long[] attrTypeKey, java.lang.Object[] valuesKey, long session) |
boolean |
verify(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, byte[] signature, long handleKey, long session) |
byte[] |
wrap(long mecha, long[] attrType, java.lang.Object[] values, long handleWrappingKey, long handleKey, long session) |
public CkiParams getCkiParams()
getCkiParams
in interface CkiLibrary
public void initializeOp()
initializeOp
in interface CkiLibrary
public void finalizeOp()
finalizeOp
in interface CkiLibrary
public long[] getSlotList()
getSlotList
in interface CkiLibrary
public java.lang.Object[] getMechanism(long slotID)
getMechanism
in interface CkiLibrary
public java.lang.Object[] getInfo()
getInfo
in interface CkiLibrary
public java.lang.Object[] getSlotInfo(long slotID)
getSlotInfo
in interface CkiLibrary
public java.lang.Object[] getTokenInfo(long slotID)
getTokenInfo
in interface CkiLibrary
public long getSession(long slotID, boolean readOnly)
getSession
in interface CkiLibrary
public boolean closeSession(long session, boolean hasLoginRequired)
closeSession
in interface CkiLibrary
public boolean closeAllSessions(long slotID)
closeAllSessions
in interface CkiLibrary
public long loginToken(long slotID, java.lang.String pin, boolean readOnly, boolean alreadyLoggedIn)
loginToken
in interface CkiLibrary
public void login(long session, java.lang.String pin)
login
in interface CkiLibrary
public boolean logoutToken(long session, boolean hasLoginRequired)
logoutToken
in interface CkiLibrary
public void loginSO(long session, java.lang.String pinSO)
loginSO
in interface CkiLibrary
public long loginSOToken(long slotID, java.lang.String pinSO)
loginSOToken
in interface CkiLibrary
public boolean isClosed(long session)
isClosed
in interface CkiLibrary
public void initToken(long slotID, java.lang.String pinSO, java.lang.String tokenLabel)
initToken
in interface CkiLibrary
public void initPin(long session, java.lang.String pin)
initPin
in interface CkiLibrary
public void setPin(long session, java.lang.String oldPin, java.lang.String pin)
setPin
in interface CkiLibrary
public byte[] getOperationState(long session)
getOperationState
in interface CkiLibrary
public void setOperationState(byte[] value, long encKey, long sigKey, long session)
setOperationState
in interface CkiLibrary
public long createObject(long[] attrType, java.lang.Object[] values, long session)
createObject
in interface CkiLibrary
public void removeObject(long object, long session)
removeObject
in interface CkiLibrary
public long[] listObjects(long[] attrType, java.lang.Object[] values, long session)
listObjects
in interface CkiLibrary
public java.lang.Object[] getAttributes(long handleObject, long[] attrType, long session)
getAttributes
in interface CkiLibrary
public void setAttributes(long handleObject, long[] attrType, java.lang.Object[] values, long session)
setAttributes
in interface CkiLibrary
public long findObject(long[] attrType, java.lang.Object[] values, long session)
findObject
in interface CkiLibrary
public long[] genKeyPair(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypePub, java.lang.Object[] valuesPub, long[] attrTypePriv, java.lang.Object[] valuesPriv, long session)
genKeyPair
in interface CkiLibrary
public long genKey(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypeKey, java.lang.Object[] valuesKey, long session)
genKey
in interface CkiLibrary
public long deriveKey(long mecha, long[] attrTypeMecha, java.lang.Object[] valuesMecha, long[] attrTypeKey, java.lang.Object[] valuesKey, long handleKey, long session)
deriveKey
in interface CkiLibrary
public byte[] digest(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long session)
digest
in interface CkiLibrary
public void digestInit(long mecha, long[] attrType, java.lang.Object[] values, long session)
digestInit
in interface CkiLibrary
public void digestUpdate(byte[] data, long session)
digestUpdate
in interface CkiLibrary
public void digestKey(long key, long session)
digestKey
in interface CkiLibrary
public byte[] digestFinal(long session)
digestFinal
in interface CkiLibrary
public byte[] sign(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session)
sign
in interface CkiLibrary
public boolean verify(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, byte[] signature, long handleKey, long session)
verify
in interface CkiLibrary
public byte[] encrypt(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session)
encrypt
in interface CkiLibrary
public void encryptInit(long mecha, long[] attrType, java.lang.Object[] values, long handleKey, long session)
encryptInit
in interface CkiLibrary
public byte[] encryptUpdate(byte[] data, long session)
encryptUpdate
in interface CkiLibrary
public byte[] encryptFinal(long session)
encryptFinal
in interface CkiLibrary
public byte[] decrypt(long mecha, long[] attrType, java.lang.Object[] values, byte[] data, long handleKey, long session)
decrypt
in interface CkiLibrary
public void decryptInit(long mecha, long[] attrType, java.lang.Object[] values, long handleKey, long session)
decryptInit
in interface CkiLibrary
public byte[] decryptUpdate(byte[] data, long session)
decryptUpdate
in interface CkiLibrary
public byte[] decryptFinal(long session)
decryptFinal
in interface CkiLibrary
public byte[] wrap(long mecha, long[] attrType, java.lang.Object[] values, long handleWrappingKey, long handleKey, long session)
wrap
in interface CkiLibrary
public long unwrap(long mecha, long[] attrType, java.lang.Object[] values, long handleUnwrappingKey, byte[] wrappedKey, long[] attrTypeKey, java.lang.Object[] valuesKey, long session)
unwrap
in interface CkiLibrary
public boolean seed(byte[] dataSeed, long session)
seed
in interface CkiLibrary
public byte[] generateRandom(long randomLen, long session)
generateRandom
in interface CkiLibrary
public long generateMasterSecret(byte[] clientRandom, byte[] serverRandom, long[] attrType, java.lang.Object[] values, long preMasterSecret, long session)
generateMasterSecret
in interface CkiLibrary
public long generateMS(byte[] clientRandom, byte[] serverRandom, long[] attrType, java.lang.Object[] values, long preMasterSecret, long session)
generateMS
in interface CkiLibrary
public java.lang.Object[] generateSecrets(byte[] clientRandom, byte[] serverRandom, long macSize, long keySize, long ivSize, boolean isExportable, long[] attrType, java.lang.Object[] values, long masterSecret, long session)
generateSecrets
in interface CkiLibrary
public byte[] generateSSL3MS(byte[] clientRandom, byte[] serverRandom, byte[] pms, long session)
generateSSL3MS
in interface CkiLibrary
public java.lang.Object[] generateSSL3Secrets(byte[] clientRandom, byte[] serverRandom, long macSize, long keySize, long expKeySize, long ivSize, boolean isExportable, byte[] ms, long keyType, boolean cipherInSoftware, long session)
generateSSL3Secrets
in interface CkiLibrary
public byte[] generateSSL3MAC(byte[] secret, byte[] seqNumb, byte type, byte[] length, byte[] pad1, byte[] pad2, byte[] content, long macSize, long mechanism, long session)
generateSSL3MAC
in interface CkiLibrary
public byte[] generateSSL3MACHandshake(byte[] secret, byte[] pad1, byte[] pad2, byte[] label, byte[] content, long macSize, long mechanism, long session)
generateSSL3MACHandshake
in interface CkiLibrary
public java.lang.Object[] digestAndEncryptSSL3(boolean useManagedState, byte[] operationState, byte[] secret, byte[] seqNumb, byte type, byte[] length, byte[] pad1, byte[] pad2, byte[] content, long macSize, long cipherMechanism, long[] attrType, java.lang.Object[] values, long digestMechanism, long blocksize, long keyHandle, long session)
digestAndEncryptSSL3
in interface CkiLibrary
public java.lang.Object[] digestAndDecryptSSL3(boolean useManagedState, byte[] operationState, byte[] secret, byte[] seqNumb, byte type, byte[] pad1, byte[] pad2, byte[] content, long macSize, long cipherMechanism, long[] attrType, java.lang.Object[] values, long digestMechanism, long blocksize, long keyHandle, long session)
digestAndDecryptSSL3
in interface CkiLibrary