|
jPOS 1.6.1 API Documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface SMAdapter
A class that implements the SecurityModuleAdapter interface would act as an adapter to the real security module device (by communicating with it using its proprietary protocol). But application programmers will be communicating with the security module using this simple interface.
| Field Summary | |
|---|---|
static byte |
FORMAT00
Proprietary PIN Block format. |
static byte |
FORMAT01
PIN Block Format adopted by ANSI (ANSI X9.8) and is one of two formats supported by the ISO (ISO 95641 - format 0). |
static byte |
FORMAT02
PIN Block Format 02 supports Douctel ATMs. |
static byte |
FORMAT03
PIN Block Format 03 is the Diabold Pin Block format. |
static byte |
FORMAT04
PIN Block Format 04 is the PIN block format adopted by the PLUS network. |
static byte |
FORMAT05
PIN Block Format 05 is the ISO 9564-1 Format 1 PIN Block. |
static short |
LENGTH_DES
DES Key Length LENGTH_DES = 64. |
static short |
LENGTH_DES3_2KEY
Triple DES (2 keys) LENGTH_DES3_2KEY = 128. |
static short |
LENGTH_DES3_3KEY
Triple DES (3 keys) LENGTH_DES3_3KEY = 192. |
static java.lang.String |
TYPE_BDK
BDK: Base Derivation Key. |
static java.lang.String |
TYPE_CVK
CVK: Card Verification Key. |
static java.lang.String |
TYPE_PVK
PVK: PIN Verification Key. |
static java.lang.String |
TYPE_TAK
TAK: Terminal Authentication Key. |
static java.lang.String |
TYPE_TMK
TMK: Terminal Master Key. |
static java.lang.String |
TYPE_TPK
TPK: Terminal PIN Key. |
static java.lang.String |
TYPE_ZAK
ZAK: Zone Authentication Key. |
static java.lang.String |
TYPE_ZMK
ZMK: Zone Master Key is a DES (or Triple-DES) key-encryption key which is distributed manually in order that further keys can be exchanged automatically. |
static java.lang.String |
TYPE_ZPK
ZPK: Zone PIN Key. |
| Method Summary | |
|---|---|
java.lang.String |
decryptPIN(EncryptedPIN pinUnderLmk)
Decrypts an Encrypted PIN (under LMK). |
EncryptedPIN |
encryptPIN(java.lang.String pin,
java.lang.String accountNumber)
Encrypts a clear pin under LMK. |
byte[] |
exportKey(SecureDESKey key,
SecureDESKey kek)
Exports secure key to encryption under a KEK (Key-Encrypting Key). |
EncryptedPIN |
exportPIN(EncryptedPIN pinUnderLmk,
SecureDESKey kd2,
byte destinationPINBlockFormat)
Exports a PIN from encryption under LMK to encryption under a KD (Data Key). |
byte[] |
generateCBC_MAC(byte[] data,
SecureDESKey kd)
Generates CBC-MAC (Cipher Block Chaining Message Authentication Code) for some data. |
SecureDESKey |
generateKey(short keyLength,
java.lang.String keyType)
Generates a random DES Key. |
SecureDESKey |
importKey(short keyLength,
java.lang.String keyType,
byte[] encryptedKey,
SecureDESKey kek,
boolean checkParity)
Imports a key from encryption under a KEK (Key-Encrypting Key) to protection under the security module. |
EncryptedPIN |
importPIN(EncryptedPIN pinUnderDuk,
KeySerialNumber ksn,
SecureDESKey bdk)
Imports a PIN from encryption under a transaction key to encryption under LMK. |
EncryptedPIN |
importPIN(EncryptedPIN pinUnderKd1,
SecureDESKey kd1)
Imports a PIN from encryption under KD (Data Key) to encryption under LMK. |
EncryptedPIN |
translatePIN(EncryptedPIN pinUnderDuk,
KeySerialNumber ksn,
SecureDESKey bdk,
SecureDESKey kd2,
byte destinationPINBlockFormat)
Translates a PIN from encryption under a transaction key to encryption under a KD (Data Key). |
EncryptedPIN |
translatePIN(EncryptedPIN pinUnderKd1,
SecureDESKey kd1,
SecureDESKey kd2,
byte destinationPINBlockFormat)
Translates a PIN from encrytion under KD1 to encryption under KD2. |
| Field Detail |
|---|
static final short LENGTH_DES
LENGTH_DES = 64.
static final short LENGTH_DES3_2KEY
LENGTH_DES3_2KEY = 128.
static final short LENGTH_DES3_3KEY
LENGTH_DES3_3KEY = 192.
static final java.lang.String TYPE_ZMK
static final java.lang.String TYPE_ZPK
static final java.lang.String TYPE_TMK
static final java.lang.String TYPE_TPK
static final java.lang.String TYPE_TAK
static final java.lang.String TYPE_PVK
static final java.lang.String TYPE_CVK
static final java.lang.String TYPE_BDK
static final java.lang.String TYPE_ZAK
static final byte FORMAT01
static final byte FORMAT02
static final byte FORMAT03
static final byte FORMAT04
static final byte FORMAT05
static final byte FORMAT00
This is not a standard format, every Security Module would interpret FORMAT00 differently. So, no interchange would accept PIN Blocks from other interchanges using this format. It is useful only when working with PIN's inside your own interchange.
| Method Detail |
|---|
SecureDESKey generateKey(short keyLength,
java.lang.String keyType)
throws SMException
keyType - type of the key to be generated (TYPE_ZMK, TYPE_TMK...etc)keyLength - bit length of the key to be generated (LENGTH_DES, LENGTH_DES3_2KEY...)
SMException
SecureDESKey importKey(short keyLength,
java.lang.String keyType,
byte[] encryptedKey,
SecureDESKey kek,
boolean checkParity)
throws SMException
keyLength - bit length of the key to be imported (LENGTH_DES, LENGTH_DES3_2KEY...etc)keyType - type of the key to be imported (TYPE_ZMK, TYPE_TMK...etc)encryptedKey - key to be imported encrypted under KEKkek - the key-encrypting keycheckParity - if true, the key is not imported unless it has adjusted parity
SMException - if the parity of the imported key is not adjusted AND checkParity = true
byte[] exportKey(SecureDESKey key,
SecureDESKey kek)
throws SMException
key - the secure key to be exportedkek - the key-encrypting key
SMException
EncryptedPIN encryptPIN(java.lang.String pin,
java.lang.String accountNumber)
throws SMException
pin - clear pin as entered by card holderaccountNumber - The 12 right-most digits of the account number excluding the check digit. Should also function correctly if the complete account number, including the check digit is passed.
SMException
java.lang.String decryptPIN(EncryptedPIN pinUnderLmk)
throws SMException
pinUnderLmk -
SMException
EncryptedPIN importPIN(EncryptedPIN pinUnderKd1,
SecureDESKey kd1)
throws SMException
pinUnderKd1 - the encrypted PINkd1 - Data Key under which the pin is encrypted
SMException
EncryptedPIN translatePIN(EncryptedPIN pinUnderKd1,
SecureDESKey kd1,
SecureDESKey kd2,
byte destinationPINBlockFormat)
throws SMException
pinUnderKd1 - pin encrypted under KD1kd1 - Data Key (also called session key) under which the pin is encryptedkd2 - the destination Data Key 2 under which the pin will be encrypteddestinationPINBlockFormat - the PIN Block Format of the exported encrypted PIN
SMException
EncryptedPIN importPIN(EncryptedPIN pinUnderDuk,
KeySerialNumber ksn,
SecureDESKey bdk)
throws SMException
pinUnderDuk - pin encrypted under a transaction keyksn - Key Serial Number (also called Key Name, in ANSI X9.24) needed to derive the transaction keybdk - Base Derivation Key, used to derive the transaction key underwhich the pin is encrypted
SMException
EncryptedPIN translatePIN(EncryptedPIN pinUnderDuk,
KeySerialNumber ksn,
SecureDESKey bdk,
SecureDESKey kd2,
byte destinationPINBlockFormat)
throws SMException
pinUnderDuk - pin encrypted under a DUKPT transaction keyksn - Key Serial Number (also called Key Name, in ANSI X9.24) needed to derive the transaction keybdk - Base Derivation Key, used to derive the transaction key underwhich the pin is encryptedkd2 - the destination Data Key (also called session key) under which the pin will be encrypteddestinationPINBlockFormat - the PIN Block Format of the translated encrypted PIN
SMException
EncryptedPIN exportPIN(EncryptedPIN pinUnderLmk,
SecureDESKey kd2,
byte destinationPINBlockFormat)
throws SMException
pinUnderLmk - pin encrypted under LMKkd2 - the destination data key (also called session key) under which the pin will be encrypteddestinationPINBlockFormat - the PIN Block Format of the exported encrypted PIN
SMException
byte[] generateCBC_MAC(byte[] data,
SecureDESKey kd)
throws SMException
data - the data to be MACedkd - the key used for MACing
SMException
|
jPOS.org | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||