public class SecureChannelProtocol
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
authType |
static int |
CARD_CRYPTOGRAM |
static java.lang.String |
dekType |
static java.lang.String |
encType |
protected static char[] |
hex |
static int |
HOST_CRYPTOGRAM |
static java.lang.String |
kekType |
static java.lang.String |
macType |
static int |
PROTOCOL_ONE |
static int |
PROTOCOL_THREE |
static int |
PROTOCOL_TWO |
static java.lang.String |
rmacType |
Constructor and Description |
---|
SecureChannelProtocol() |
SecureChannelProtocol(int theProtocol) |
Modifier and Type | Method and Description |
---|---|
byte[] |
computeAES_CBCEncryption(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken,
byte[] input,
byte[] iv) |
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[] |
computeCryptogram_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken,
byte[] context,
byte cryptoType) |
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_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken) |
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) |
org.mozilla.jss.crypto.SymmetricKey |
computeSessionKey_SCP03(java.lang.String selectedToken,
java.lang.String keyNickName,
byte[] keyInfo,
java.lang.String keyType,
byte[] devKeyArray,
java.lang.String keySet,
byte[] xCUID,
byte[] xKDD,
byte[] host_challenge,
byte[] card_challenge,
java.lang.String transportKeyName,
GPParams params) |
static void |
debugByteArray(byte[] array,
java.lang.String message) |
static void |
displayByteArray(byte[] ba,
boolean has_check_sum) |
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,
byte[] encKeyArray,
byte[] macKeyArray,
java.lang.String useSoftToken,
java.lang.String keySet,
byte protocol,
GPParams params) |
byte[] |
ecbEncrypt(org.mozilla.jss.crypto.SymmetricKey devKey,
org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken) |
byte[] |
encryptData_SCP03(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,
GPParams params) |
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) |
int |
getProtocol() |
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.SymmetricKey |
returnDeveloperSymKey(org.mozilla.jss.crypto.CryptoToken token,
java.lang.String keyType,
java.lang.String keySet,
byte[] inputKeyArray,
java.lang.String keyAlg) |
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 |
unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
byte[] inputKeyArray,
boolean isPerm) |
org.mozilla.jss.crypto.SymmetricKey |
unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
org.mozilla.jss.crypto.SymmetricKey keyToUnwrap,
boolean isPerm) |
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.Type finalKeyType) |
org.mozilla.jss.crypto.SymmetricKey |
unwrapWrappedSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
org.mozilla.jss.crypto.SymmetricKey unwrappingKey,
byte[] inputKeyArray,
boolean isPerm,
org.mozilla.jss.crypto.SymmetricKey.Type keyType) |
byte[] |
wrapSessionKey(java.lang.String tokenName,
org.mozilla.jss.crypto.SymmetricKey sessionKey,
org.mozilla.jss.crypto.SymmetricKey wrappingKey) |
public static final java.lang.String encType
public static final java.lang.String macType
public static final java.lang.String kekType
public static final java.lang.String authType
public static final java.lang.String dekType
public static final java.lang.String rmacType
public static final int PROTOCOL_ONE
public static final int PROTOCOL_TWO
public static final int PROTOCOL_THREE
public static final int HOST_CRYPTOGRAM
public static final int CARD_CRYPTOGRAM
protected static final char[] hex
public SecureChannelProtocol()
public SecureChannelProtocol(int theProtocol)
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 int getProtocol()
public org.mozilla.jss.crypto.SymmetricKey computeSessionKey_SCP03(java.lang.String selectedToken, java.lang.String keyNickName, byte[] keyInfo, java.lang.String keyType, byte[] devKeyArray, java.lang.String keySet, byte[] xCUID, byte[] xKDD, byte[] host_challenge, byte[] card_challenge, java.lang.String transportKeyName, GPParams params) 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 returnDeveloperSymKey(org.mozilla.jss.crypto.CryptoToken token, java.lang.String keyType, java.lang.String keySet, byte[] inputKeyArray, java.lang.String keyAlg) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token, byte[] inputKeyArray, boolean isPerm) throws EBaseException
EBaseException
public org.mozilla.jss.crypto.SymmetricKey unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token, org.mozilla.jss.crypto.SymmetricKey keyToUnwrap, boolean isPerm) 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, org.mozilla.jss.crypto.SymmetricKey.Type finalKeyType) 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, org.mozilla.jss.crypto.SymmetricKey.Type keyType) 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.CryptoManager.NotInitializedException
org.mozilla.jss.NoSuchTokenException
org.mozilla.jss.CryptoManager.NotInitializedException
public static byte[] makeDes3FromDes2(byte[] des2)
public static void debugByteArray(byte[] array, java.lang.String message)
public static void displayByteArray(byte[] ba, boolean has_check_sum)
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[] computeAES_CBCEncryption(org.mozilla.jss.crypto.SymmetricKey symKey, java.lang.String selectedToken, byte[] input, byte[] iv) throws EBaseException
EBaseException
public byte[] computeDes3EcbEncryption(org.mozilla.jss.crypto.SymmetricKey desKey, java.lang.String selectedToken, byte[] input) throws EBaseException
EBaseException
public byte[] computeKeyCheck_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey, java.lang.String selectedToken) throws EBaseException
EBaseException
public byte[] computeCryptogram_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey, java.lang.String selectedToken, byte[] context, byte cryptoType) 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, byte[] encKeyArray, byte[] macKeyArray, java.lang.String useSoftToken, java.lang.String keySet, byte protocol, GPParams params) throws EBaseException
EBaseException
public static void setDefaultPrefix(java.lang.String masterkeyPrefix)
public byte[] encryptData_SCP03(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, GPParams params) throws EBaseException
EBaseException
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