public class SecureChannelProtocol
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static char[] |
hex |
Constructor and Description |
---|
SecureChannelProtocol() |
Modifier and Type | Method and Description |
---|---|
byte[] |
computeCryptogram_SCP01(java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] card_challenge,
byte[] host_challenge,
byte[] keyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] xCUID,
byte[] xKDD,
int cryptogramType,
byte[] authKeyArray,
java.lang.String useSoftToken_s,
java.lang.String keySet,
java.lang.String transportKeyName) |
byte[] |
computeDes3EcbEncryption(org.mozilla.jss.crypto.SymmetricKey desKey,
java.lang.String selectedToken,
byte[] input) |
org.mozilla.jss.crypto.SymmetricKey |
computeKEKKey_SCP01(java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] keyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] xCUID,
byte[] xKDD,
byte[] devKeyArray,
java.lang.String useSoftToken_s,
java.lang.String keySet,
java.lang.String transportKeyName) |
byte[] |
computeKeyCheck(org.mozilla.jss.crypto.SymmetricKey desKey,
java.lang.String selectedToken) |
byte[] |
computeMAC_SCP01(org.mozilla.jss.crypto.SymmetricKey symKey,
byte[] input,
byte[] icv,
java.lang.String selectedToken) |
org.mozilla.jss.crypto.SymmetricKey |
computeSessionKey_SCP01(java.lang.String keyType,
java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] card_challenge,
byte[] host_challenge,
byte[] keyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] xCUID,
byte[] xKDD,
byte[] devKeyArray,
java.lang.String useSoftToken_s,
java.lang.String keySet,
java.lang.String transportKeyName) |
org.mozilla.jss.crypto.SymmetricKey |
computeSessionKey_SCP02(java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] keyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] xCUID,
byte[] xKDD,
byte[] macKeyArray,
byte[] sequenceCounter,
byte[] derivationConstant,
java.lang.String useSoftToken_s,
java.lang.String keySet,
java.lang.String transportKeyName) |
static void |
debugByteArray(byte[] array,
java.lang.String message) |
byte[] |
diversifyKey(java.lang.String tokenName,
java.lang.String newTokenName,
java.lang.String oldMasterKeyName,
java.lang.String newMasterKeyName,
byte[] oldKeyInfo,
byte[] newKeyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] CUIDValue,
byte[] KDD,
byte[] kekKeyArray,
java.lang.String useSoftToken,
java.lang.String keySet,
byte protocol) |
byte[] |
ecbEncrypt(org.mozilla.jss.crypto.SymmetricKey devKey,
org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken) |
byte[] |
encryptData(java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] data,
byte[] keyInfo,
byte nistSP800_108KdfOnKeyVersion,
boolean nistSP800_108KdfUseCuidAsKdd,
byte[] xCUID,
byte[] xKDD,
byte[] kekKeyArray,
java.lang.String useSoftToken_s,
java.lang.String keySet) |
org.mozilla.jss.crypto.SymmetricKey |
extractDes2FromDes3(org.mozilla.jss.crypto.SymmetricKey baseKey,
java.lang.String selectedToken) |
org.mozilla.jss.crypto.SymmetricKey |
generateSymKey(java.lang.String selectedToken) |
org.mozilla.jss.CryptoManager |
getCryptoManger() |
static java.lang.String |
getHexString(byte[] bytes) |
org.mozilla.jss.crypto.SymmetricKey |
getSharedSecretKey(org.mozilla.jss.crypto.CryptoToken token) |
static java.lang.String |
getSharedSecretKeyName(java.lang.String name) |
static org.mozilla.jss.crypto.SymmetricKey |
getSymKeyByName(org.mozilla.jss.crypto.CryptoToken token,
java.lang.String name) |
static byte[] |
longToBytes(long x) |
static byte[] |
makeDes3FromDes2(byte[] des2) |
org.mozilla.jss.crypto.SymmetricKey |
makeDes3KeyDerivedFromDes2(org.mozilla.jss.crypto.SymmetricKey des3Key,
java.lang.String selectedToken) |
org.mozilla.jss.crypto.CryptoToken |
returnTokenByName(java.lang.String name,
org.mozilla.jss.CryptoManager manager) |
static void |
setDefaultPrefix(java.lang.String masterkeyPrefix) |
static java.lang.String |
setSharedSecretKeyName(java.lang.String name) |
org.mozilla.jss.crypto.SymmetricKey |
unwrapSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
byte[] inputKeyArray,
boolean isPerm) |
org.mozilla.jss.crypto.SymmetricKey |
unwrapSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
org.mozilla.jss.crypto.SymmetricKey unwrappingKey,
byte[] inputKeyArray,
boolean isPerm) |
org.mozilla.jss.crypto.SymmetricKey |
unwrapWrappedSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
org.mozilla.jss.crypto.SymmetricKey unwrappingKey,
byte[] inputKeyArray,
boolean isPerm) |
byte[] |
wrapSessionKey(java.lang.String tokenName,
org.mozilla.jss.crypto.SymmetricKey sessionKey,
org.mozilla.jss.crypto.SymmetricKey wrappingKey) |
public byte[] computeCryptogram_SCP01(java.lang.String selectedToken, java.lang.String keyNickName, byte[] card_challenge, byte[] host_challenge, byte[] keyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] xCUID, byte[] xKDD, int cryptogramType, byte[] authKeyArray, java.lang.String useSoftToken_s, java.lang.String keySet, java.lang.String transportKeyName) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey computeSessionKey_SCP02(java.lang.String selectedToken, java.lang.String keyNickName, byte[] keyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] xCUID, byte[] xKDD, byte[] macKeyArray, byte[] sequenceCounter, byte[] derivationConstant, java.lang.String useSoftToken_s, java.lang.String keySet, java.lang.String transportKeyName) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey computeKEKKey_SCP01(java.lang.String selectedToken, java.lang.String keyNickName, byte[] keyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] xCUID, byte[] xKDD, byte[] devKeyArray, java.lang.String useSoftToken_s, java.lang.String keySet, java.lang.String transportKeyName) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey computeSessionKey_SCP01(java.lang.String keyType, java.lang.String selectedToken, java.lang.String keyNickName, byte[] card_challenge, byte[] host_challenge, byte[] keyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] xCUID, byte[] xKDD, byte[] devKeyArray, java.lang.String useSoftToken_s, java.lang.String keySet, java.lang.String transportKeyName) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey getSharedSecretKey(org.mozilla.jss.crypto.CryptoToken token) throws EBaseException
EBaseException
public static java.lang.String getSharedSecretKeyName(java.lang.String name) throws EBaseException
EBaseException
public static java.lang.String setSharedSecretKeyName(java.lang.String name) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey unwrapSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey unwrappingKey, byte[] inputKeyArray, boolean isPerm) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey unwrapWrappedSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey unwrappingKey, byte[] inputKeyArray, boolean isPerm) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey unwrapSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token, byte[] inputKeyArray, boolean isPerm) throws EBaseException
EBaseException
public static org.mozilla.jss.crypto.SymmetricKey getSymKeyByName(org.mozilla.jss.crypto.CryptoToken token, java.lang.String name) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.CryptoToken returnTokenByName(java.lang.String name, org.mozilla.jss.CryptoManager manager) throws org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.NoSuchTokenException
public static byte[] makeDes3FromDes2(byte[] des2)
public static void debugByteArray(byte[] array, java.lang.String message)
public static java.lang.String getHexString(byte[] bytes)
public org.mozilla.jss.CryptoManager getCryptoManger() throws EBaseException
EBaseException
public static byte[] longToBytes(long x)
public org.mozilla.jss.crypto.SymmetricKey generateSymKey(java.lang.String selectedToken) throws EBaseException
EBaseException
public byte[] ecbEncrypt(org.mozilla.jss.crypto.SymmetricKey devKey, org.mozilla.jss.crypto.SymmetricKey symKey, java.lang.String selectedToken) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey makeDes3KeyDerivedFromDes2(org.mozilla.jss.crypto.SymmetricKey des3Key, java.lang.String selectedToken) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey extractDes2FromDes3(org.mozilla.jss.crypto.SymmetricKey baseKey, java.lang.String selectedToken) throws EBaseException
EBaseException
public byte[] wrapSessionKey(java.lang.String tokenName, org.mozilla.jss.crypto.SymmetricKey sessionKey, org.mozilla.jss.crypto.SymmetricKey wrappingKey) throws EBaseException
EBaseException
public byte[] computeDes3EcbEncryption(org.mozilla.jss.crypto.SymmetricKey desKey, java.lang.String selectedToken, byte[] input) throws EBaseException
EBaseException
public byte[] computeKeyCheck(org.mozilla.jss.crypto.SymmetricKey desKey, java.lang.String selectedToken) throws EBaseException
EBaseException
public byte[] computeMAC_SCP01(org.mozilla.jss.crypto.SymmetricKey symKey, byte[] input, byte[] icv, java.lang.String selectedToken) throws EBaseException
EBaseException
public byte[] diversifyKey(java.lang.String tokenName, java.lang.String newTokenName, java.lang.String oldMasterKeyName, java.lang.String newMasterKeyName, byte[] oldKeyInfo, byte[] newKeyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] CUIDValue, byte[] KDD, byte[] kekKeyArray, java.lang.String useSoftToken, java.lang.String keySet, byte protocol) throws EBaseException
EBaseException
public static void setDefaultPrefix(java.lang.String masterkeyPrefix)
public byte[] encryptData(java.lang.String selectedToken, java.lang.String keyNickName, byte[] data, byte[] keyInfo, byte nistSP800_108KdfOnKeyVersion, boolean nistSP800_108KdfUseCuidAsKdd, byte[] xCUID, byte[] xKDD, byte[] kekKeyArray, java.lang.String useSoftToken_s, java.lang.String keySet) throws EBaseException
EBaseException