Operações para Transferência Eletrônica de Fundos.
Consulte a documentação técnica do HSM.
Funções | |
String | generateDUKPT (byte[] baKSI, byte[] baDID_CTR, int dwParam) throws TacException |
Gera uma chave DUKPT dentro do HSM utilizando uma KSI (Key Serial Identification), um DID (Device ID) e um CTR (Transaction Counter) de uma mesma KSN (Key Serial Number). | |
String | generateDUKPTName (byte[] baKSI, byte[] baDID_CTR) throws TacException |
Gera o nome da DUKPT a partir de uma KSI e CTR informados. | |
String | generateBDKName (byte[] baKSI) throws TacException |
Gera o nome da BDK a partir de uma KSI (Key Serial Identification). | |
byte[] | translatePINBlock (String srcPEK, String dstPEK, int transBlockType, String PAN, byte[] inPINBlock) throws TacException |
Faz a tradução de um PIN Block, decriptando o bloco com uma chave e encriptando com outra. | |
byte[] | exportTR31 (String kbpk, String key, int usage, byte mode, byte export) throws TacException |
Exporta uma chave no formato TR-31 de acordo com o padrão ASC X9 TR 31-2018. | |
void | importTR31 (String kbpk, String key, int keyAttributes, byte[] keyBlock) throws TacException |
Importa uma chave no formato TR-31 de acordo com o padrão ASC X9 TR 31-2018. | |
String generateDUKPT | ( | byte[] | baKSI, |
byte[] | baDID_CTR, | ||
int | dwParam ) throws TacException |
Gera uma chave DUKPT dentro do HSM utilizando uma KSI (Key Serial Identification), um DID (Device ID) e um CTR (Transaction Counter) de uma mesma KSN (Key Serial Number).
baKSI | Buffer de tamanho TacNDJavaLib.MIN_KSI_LEN contendo o KSI (primeiros 05 bytes do KSN). | ||||||||||||||
baDID_CTR | Buffer de tamanho TacNDJavaLib.MIN_CTR_LEN contendo o DID e CTR (últimos 05 bytes do KSN). | ||||||||||||||
dwParam | Flags de operação de acordo com a tabela abaixo.
|
TacException |
String generateDUKPTName | ( | byte[] | baKSI, |
byte[] | baDID_CTR ) throws TacException |
Gera o nome da DUKPT a partir de uma KSI e CTR informados.
baKSI | Buffer de tamanho TacNDJavaLib.MIN_KSI_LEN contendo o KSI (primeiros 05 bytes do KSN). |
baDID_CTR | Buffer de tamanho TacNDJavaLib.MIN_CTR_LEN contendo o DID e CTR (últimos 05 bytes do KSN). |
TacException |
String generateBDKName | ( | byte[] | baKSI | ) | throws TacException |
Gera o nome da BDK a partir de uma KSI (Key Serial Identification).
baKSI | Buffer de tamanho TacNDJavaLib.MIN_KSI_LEN contendo o KSI (primeiros 05 bytes do KSN). |
TacException |
byte[] translatePINBlock | ( | String | srcPEK, |
String | dstPEK, | ||
int | transBlockType, | ||
String | PAN, | ||
byte[] | inPINBlock ) throws TacException |
Faz a tradução de um PIN Block, decriptando o bloco com uma chave e encriptando com outra.
O formato de bloco de entrada é identificado automaticamente, e o formato de bloco de saída pode ser definido pelo chamador, desde que a troca do formato não seja de um PAN Unbound para um PAN Bound. Os formatos PAN Bound são aqueles que utilizam informação de PAN em sua composição. É possível, portanto, realizar tanto tradução de chaves quanto tradução de formato. O chamador pode fazer uma validação forçada do formato indicando para o formato de saída, o mesmo que está usando no PIN Block de entrada.
srcPEK | Identificador da chave de decriptação dentro do HSM. | ||||||||||||
dstPEK | Identificador da chave de encriptação dentro do HSM. | ||||||||||||
transBlockType | Identificador do formato do bloco de saída. De acordo com a tabela abaixo.
| ||||||||||||
PAN | PAN (Primary Account Number). | ||||||||||||
inPINBlock | PIN Block de entrada. O buffer deve ter o tamanho de um PIN Block, TacNDJavaLib.DES_BLOCK (8 bytes) |
TacException |
byte[] exportTR31 | ( | String | kbpk, |
String | key, | ||
int | usage, | ||
byte | mode, | ||
byte | export ) throws TacException |
Exporta uma chave no formato TR-31 de acordo com o padrão ASC X9 TR 31-2018.
kbpk | Nome da chave KBPK (Key Block Protection Key) utilizada para derivar as chaves de encriptação e autenticação. | ||||||||||||||||||||||||||
key | Nome da chave que será exportada do HSM. | ||||||||||||||||||||||||||
usage | Identificador de uso de chave, como descrito no ASC X9 TR 31-2018 Seção A.5.1 tabela 6. As seguintes opções são aceitas. | ||||||||||||||||||||||||||
mode | Identificador do modo de uso da chave, como descrito no ASC X9 TR 31-2018 Seção A.5.3 tabela 8. As seguintes opções são aceitas.
| ||||||||||||||||||||||||||
export | Identificador de exportabilidade da chave, como descrito no ASC X9 TR 31-2018 Seção A.5.5 tabela 10. As seguintes opções são aceitas.
|
TacException |
Algoritmo da KBPK | Método de exportação |
---|---|
3DES | 5.3.2.1 Key Derivation Binding Method - TDEA |
AES | 5.3.2.3 Key Block Binding Method – AES |
void importTR31 | ( | String | kbpk, |
String | key, | ||
int | keyAttributes, | ||
byte[] | keyBlock ) throws TacException |
Importa uma chave no formato TR-31 de acordo com o padrão ASC X9 TR 31-2018.
kbpk | Nome da chave KBPK (Key Block Protection Key) utilizada para derivar as chaves de encriptação e autenticação. |
key | Nome da chave que será importada no HSM. |
keyAttributes | Parâmetros adicionais da chave. Veja as opções no método createKey(). |
keyBlock | key block |
TacException |
Algoritmo da KBPK | Método |
---|---|
3DES | 5.3.2.1 Key Derivation Binding Method - TDEA |
AES | 5.3.2.3 Key Block Binding Method – AES |