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
EBaseExceptionpublic 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
EBaseExceptionpublic 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
EBaseExceptionpublic 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
EBaseExceptionpublic 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
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey getSharedSecretKey(org.mozilla.jss.crypto.CryptoToken token)
throws EBaseException
EBaseExceptionpublic static java.lang.String getSharedSecretKeyName(java.lang.String name)
throws EBaseException
EBaseExceptionpublic static java.lang.String setSharedSecretKeyName(java.lang.String name)
throws EBaseException
EBaseExceptionpublic 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
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
byte[] inputKeyArray,
boolean isPerm)
throws EBaseException
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey unwrapAESSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
org.mozilla.jss.crypto.SymmetricKey keyToUnwrap,
boolean isPerm)
throws EBaseException
EBaseExceptionpublic 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
EBaseExceptionpublic 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
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey unwrapSymKeyOnToken(org.mozilla.jss.crypto.CryptoToken token,
byte[] inputKeyArray,
boolean isPerm)
throws EBaseException
EBaseExceptionpublic static org.mozilla.jss.crypto.SymmetricKey getSymKeyByName(org.mozilla.jss.crypto.CryptoToken token,
java.lang.String name)
throws EBaseException
EBaseExceptionpublic 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.NoSuchTokenExceptionorg.mozilla.jss.CryptoManager.NotInitializedExceptionpublic 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
EBaseExceptionpublic static byte[] longToBytes(long x)
public org.mozilla.jss.crypto.SymmetricKey generateSymKey(java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic byte[] ecbEncrypt(org.mozilla.jss.crypto.SymmetricKey devKey,
org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey makeDes3KeyDerivedFromDes2(org.mozilla.jss.crypto.SymmetricKey des3Key,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic org.mozilla.jss.crypto.SymmetricKey extractDes2FromDes3(org.mozilla.jss.crypto.SymmetricKey baseKey,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic byte[] wrapSessionKey(java.lang.String tokenName,
org.mozilla.jss.crypto.SymmetricKey sessionKey,
org.mozilla.jss.crypto.SymmetricKey wrappingKey)
throws EBaseException
EBaseExceptionpublic byte[] computeAES_CBCEncryption(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken,
byte[] input,
byte[] iv)
throws EBaseException
EBaseExceptionpublic byte[] computeDes3EcbEncryption(org.mozilla.jss.crypto.SymmetricKey desKey,
java.lang.String selectedToken,
byte[] input)
throws EBaseException
EBaseExceptionpublic byte[] computeKeyCheck_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic byte[] computeCryptogram_SCP03(org.mozilla.jss.crypto.SymmetricKey symKey,
java.lang.String selectedToken,
byte[] context,
byte cryptoType)
throws EBaseException
EBaseExceptionpublic byte[] computeKeyCheck(org.mozilla.jss.crypto.SymmetricKey desKey,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic byte[] computeMAC_SCP01(org.mozilla.jss.crypto.SymmetricKey symKey,
byte[] input,
byte[] icv,
java.lang.String selectedToken)
throws EBaseException
EBaseExceptionpublic 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
EBaseExceptionpublic 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
EBaseExceptionpublic 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