API Java
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
EFT

Descripción detallada

Operaciones de transferencia electrónica de fondos.

Véase Documentación técnica de HSM.

Funciones

Cadena generateDUKPT (byte[] baKSI, byte[] baDID_CTR, int dwParam) throws TacException
 Genera una clave DUKPT dentro del HSM utilizando un KSI (Key Serial Identification), un DID (Device ID) y un CTR (Transaction Counter) del mismo KSN (Key Serial Number).
 
Cadena generateDUKPTName (byte[] baKSI, byte[] baDID_CTR) throws TacException
 Genera el nombre del DUKPT a partir del KSI y el CTR introducidos.
 
Cadena generateBDKName (byte[] baKSI) throws TacException
 Genera el nombre BDK a partir de un KSI (Key Serial Identification).
 
byte[] translatePINBlock (String srcPEK, String dstPEK, int transBlockType, String PAN, byte[] inPINBlock) throws TacException
 Traduce un bloque PIN, descifrándolo con una clave y cifrándolo con otra.
 
byte[] exportTR31 (String kbpk, String key, int usage, byte mode, byte export) throws TacException
 Exporta una clave en formato TR-31 según la norma ASC X9 TR 31-2018.
 
void importTR31 (String kbpk, String key, int keyAttributes, byte[] keyBlock) throws TacException
 Importe una clave en formato TR-31 según la norma ASC X9 TR 31-2018.
 
EftKeyParts exportKeyParts (String keyId, int flags) throws TacException
 Exportar una clave ZPK (Clave PIN de Zona) o ZMK (Clave Maestra de Zona).
 
void importKeyParts (String keyId, int keyAlg, EftKeyParts parts, int flags) throws TacException
 
Cadena generateCVV (String keyId, String pan, String expirationDate, String serviceCode, int params) throws TacException
 Genera un CVV (Card Verification Value), CVV2 o iCVV utilizando una clave dentro del HSM.
 
booleano verifyCVV (String keyId, String pan, String expirationDate, String serviceCode, String cvv, int params) throws TacException
 Comprueba un CVV (Card Verification Value), CVV2 o iCVV utilizando una clave dentro del HSM.
 
booleano verifyPINBlock (String ptk, String pgk, String pan, String offset, byte[] pinBlock, int param) throws TacException
 Comprueba la validez de un PIN en un bloque de PIN.
 

Funciones

generarDUKPT()

String generateDUKPT ( byte[] baKSI,
byte[] baDID_CTR,
int dwParam ) throws TacException

Genera una clave DUKPT dentro del HSM utilizando un KSI (Key Serial Identification), un DID (Device ID) y un CTR (Transaction Counter) del mismo KSN (Key Serial Number).

Parámetros
baKSIBuffer de tamaño TacNDJavaLib.MIN_KSI_LEN que contiene el KSI (primeros 05 bytes del KSN).
baDID_CTRBuffer de tamaño TacNDJavaLib.MIN_CTR_LEN que contiene el DID y el CTR (últimos 05 bytes del KSN).
dwParamBanderas de funcionamiento según la tabla siguiente.
Valor Significado
TacNDJavaLib.NEW_DUKPT_MODE_DUK Genera una DUK (Clave Única Derivada) estándar de acuerdo con el manual ISO X9.24-1-2004.
TacNDJavaLib.NEW_DUKPT_MODE_PEK Genera una clave PEK (PIN Encryption Key) según el manual ISO X9.24-1-2004 A-1,A-6 aplicando el XOR de la máscara 0000 0000 0000 FF00 a las partes de la clave.
TacNDJavaLib.NEW_DUKPT_MODE_MEK Genera una clave MEK (MAC Encryption Key) según el manual ISO X9.24-1-2004 A-1,A-6 aplicando el XOR de la máscara 0000 0000 0000 00FF a las partes de la clave.
TacNDJavaLib.NEW_DUKPT_MODE_DE Diversifica la clave generada en formato de Cifrado de Datos. Aplica un XOR de la máscara 0000 0000 00FF 0000 0000 00FF 0000 a la clave DUKPT generada, encripta la clave izquierda del DUKPT utilizando el DUKPT generado y repite la encriptación con la clave derecha. Tras esta operación, une las partes izquierda y derecha cifradas para formar la clave de cifrado de datos. Como se describe en el MANUAL DE USUARIO IDTECH SecureMag Encrypted MagStripe Reader (80096504-001 RevL 06/19/14).
Debe utilizarse en combinación (mediante la operación OR) con uno de los indicadores: TacNDJavaLib . NEW_DUKPT_MODE_DUK, TacNDJavaLib.NEW_DUKPT_MODE_PEK o TacNDJavaLib.NEW_DUKPT_MODE_MEK.
TacNDJavaLib.NEW_DUKPT_MODE_EXP Genera una clave DUKPT exportable. Se trata de un indicador de atributo y debe utilizarse en combinación con otros indicadores. Utilícela sólo si se requiere específicamente.
TacNDJavaLib.NEW_DUKPT_MODE_TMP Genera una clave DUKPT temporal. Se trata de un indicador de atributo y debe utilizarse en combinación con otros indicadores.
Devolución
Devuelve el nombre de la clave DUKPT generada.
Excepciones
TacException

generateDUKPTName()

String generateDUKPTName ( byte[] baKSI,
byte[] baDID_CTR ) throws TacException

Genera el nombre del DUKPT a partir del KSI y el CTR introducidos.

Parámetros
baKSIBuffer de tamaño TacNDJavaLib.MIN_KSI_LEN que contiene el KSI (primeros 05 bytes del KSN).
baDID_CTRBuffer de tamaño TacNDJavaLib.MIN_CTR_LEN que contiene el DID y el CTR (últimos 05 bytes del KSN).
Devolución
Devuelve el nombre de la clave DUKPT.
Excepciones
TacException

generateBDKName()

String generateBDKName ( byte[] baKSI) throws TacException

Genera el nombre BDK a partir de un KSI (Key Serial Identification).

Parámetros
baKSIBuffer de tamaño TacNDJavaLib.MIN_KSI_LEN que contiene el KSI (primeros 05 bytes del KSN).
Devolución
Devuelve el nombre de la clave BDK.
Excepciones
TacException

translatePINBlock()

byte[] translatePINBlock ( String srcPEK,
String dstPEK,
int transBlockType,
String PAN,
byte[] inPINBlock ) throws TacException

Traduce un bloque PIN, descifrándolo con una clave y cifrándolo con otra.

El formato de bloque entrante se identifica automáticamente, y el formato de bloque saliente puede ser definido por el emisor de la llamada, siempre que el cambio de formato no sea de un PAN Unbound a un PAN Bound. Los formatos PAN Bound son aquellos que utilizan información PAN en su composición. Por tanto, es posible realizar tanto la traducción de claves como la traducción de formatos. El llamante puede realizar una validación forzada del formato indicando para el formato saliente, el mismo que está utilizando en el Bloque PIN entrante.

Parámetros
srcPEKIdentificador de la clave de descifrado dentro del HSM.
dstPEKIdentificador de la clave de cifrado dentro del HSM.
transBlockTypeIdentificador del formato del bloque de salida. Según la tabla siguiente.
Valor Significado
TacNDJavaLib.TP_TRANSLATE_TYPE_AUTO Realiza una conversión opaca, traduciendo del bloque con la clave de origen al bloque con la clave de destino, sin analizar el formato ni el contenido del bloque.
PAN Bound: no se aplica.
TacNDJavaLib.TP_TRANSLATE_TYPE_ISO_0 Utiliza ISO PIN Block Format 0 (equivalente a ANSI PIN Block Format 0 y VISA PIN Block Format 1).
PAN Bound: sí.
TacNDJavaLib.TP_TRANSLATE_TYPE_ISO_1 Utiliza el formato ISO PIN Block 1.
PAN Bound: no.
TacNDJavaLib.TP_TRANSLATE_TYPE_ISO_3 Utiliza el formato ISO PIN Block Format 3.
PAN Bound: sí.
TacNDJavaLib.TP_TRANSLATE_TYPE_IBM_3624 Tipo de bloque IBM 3624 utilizado.
No implementado.
PANPAN (Número de cuenta principal).
inPINBlockEntrada de bloque PIN. El búfer debe tener el tamaño de un PIN Block, TacNDJavaLib.DES_BLOCK (8 bytes).
Devolución
Salida del bloque PIN.
Excepciones
TacException
Notas
En el caso de una conversión no opaca, es decir, una traducción de formato, si no se puede reconocer el formato PIN Block de entrada, se devolverá un error D_ERR_OPERATION_FAILED.
El método ISO PIN Block Format 2 no está implementado en el HSM, ya que este formato está destinado a utilizarse para la protección del PIN cuando se envía desde el lector de tarjetas chip.

exportTR31()

byte[] exportTR31 ( String kbpk,
String key,
int usage,
byte mode,
byte export ) throws TacException

Exporta una clave en formato TR-31 según la norma ASC X9 TR 31-2018.

Parámetros
kbpkNombre de la clave KBPK (Key Block Protection Key) utilizada para derivar las claves de cifrado y autenticación.
keyNombre de la clave que se exportará del HSM.
usageIdentificador de uso de clave, como se describe en ASC X9 TR 31-2018 Sección A.5.1 tabla 6. Se aceptan las siguientes opciones.
Valor Significado
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_AUTO Define el identificador automáticamente. Se utilizan los siguientes valores: TacNDJavaLib . EFT_ME_TR31_EXP_USAGE_D0 para clave simétrica y TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_D1 para clave asimétrica.
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_B0 BDK Clave de derivación base
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_B1 Clave inicial DUKPT
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_B2 Clave base Clave variante
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_C0 CVK Clave de verificación de la tarjeta
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_D0 Clave simétrica para el cifrado de datos
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_D1 Clave asimétrica para el cifrado de datos
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_D2 Clave de encriptación de datos para la tabla de decimalización
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E0 EMV/chip Issuer Master Key: Criptogramas de aplicación
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E1 Clave maestra de emisor EMV/chip: mensajería segura para la confidencialidad
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E2 Clave maestra del emisor EMV/chip: mensajería segura para la integridad
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E3 EMV/chip Clave maestra del emisor: Código de autenticación de datos
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E4 EMV/chip Clave maestra del emisor: Números dinámicos
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E5 EMV/chip Emisor Llave maestra: Personalización de tarjetas
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_E6 EMV/chip Llave maestra del emisor: Otro
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_I0 Vector de inicialización (IV)
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_K0 Cifrado o envoltura de claves
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_K1 TR-31 Llave de protección del bloque de llaves
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_K2 TR-34 Clave asimétrica
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_K3 Clave asimétrica para acuerdo de claves/envuelta de claves
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M0 ISO 16609 MAC algoritmo 1 (utilizando TDEA)
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M1 ISO 9797-1 Algoritmo MAC 1
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M2 ISO 9797-1 Algoritmo MAC 2
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M3 ISO 9797-1 Algoritmo MAC 3
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M4 ISO 9797-1 Algoritmo MAC 4
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M5 ISO 9797-1:1999 Algoritmo MAC 5
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M6 ISO 9797-1:2011 Algoritmo MAC 5/CMAC
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M7 HMAC
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_M8 ISO 9797-1:2011 Algoritmo MAC 6
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_P0 Cifrado de PIN
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_S0 Par de claves asimétricas para la firma digital
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_S1 Par de claves asimétricas, clave CA
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_S2 Par de claves asimétricas, clave no X9.24
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_V0 Verificación PIN, KPV, otro algoritmo
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_V1 Verificación del PIN, IBM 3624
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_V2 Verificación del PIN, VISA PVV
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_V3 Verificación del PIN, X9.132 algoritmo 1
TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_V4 Verificación del PIN, X9.132 algoritmo 2
modeIdentificador del modo de uso de la clave, como se describe en ASC X9 TR 31-2018 Sección A.5.3 tabla 8. Se aceptan las siguientes opciones.
Valor Significado
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_AUTO Define automáticamente el identificador del modo de uso. Se utiliza el siguiente valor TacNDJavaLib.EFT_ME_TR31_EXP_MODE_N.
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_B Cifrado y descifrado / Envolver y desenvolver
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_C Generación y verificación
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_D Sólo desencriptación / desenvoltura
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_E Cifrado / Sólo envoltura
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_G Sólo generación
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_N Sin restricciones especiales (excepto las definidas por el identificador de uso de la clave)
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_S Sólo firma
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_T Firma y descifrado
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_V Sólo verificación
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_X Clave utilizada para derivar otra(s) clave(s)
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_Y Clave utilizada para crear variantes de clave
exportIdentificador clave de exportabilidad, como se describe en ASC X9 TR 31-2018 Sección A.5.5 tabla 10. Se aceptan las siguientes opciones.
Valor Significado
TacNDJavaLib.EFT_ME_TR31_EXP_AUTO Define automáticamente el identificador de exportabilidad. Se utiliza el siguiente valor TacNDJavaLib.EFT_ME_TR31_EXP_X9_24.
TacNDJavaLib.EFT_ME_TR31_EXP_X9_24 Exportable con una KEK (clave de cifrado) en un formato que cumpla lo definido en los requisitos de X9.24 Partes 1 ó 2.
TacNDJavaLib.EFT_ME_TR31_EXP_NON_EXPORTABLE No exportable por el destinatario del bloque de claves ni por el lugar de almacenamiento. No impide la exportación de claves derivadas de una clave no exportable.
TacNDJavaLib.EFT_ME_TR31_EXP_KEK_EXPORTABLE Sensible, Exportable bajo una KEK (Clave de Cifrado) en un formato no necesariamente conforme con los requisitos de X9.24 Partes 1 ó 2.
Devolución
bloque de teclas
Excepciones
TacException
Notas
Esta API exporta una clave utilizando los métodos para generar bloque_clave abajo.
Algoritmo KBPK Método de exportación
3DES 5.3.2.1 Método vinculante de derivación de claves - TDEA
AES 5.3.2.3 Método de vinculación de bloques de claves - AES

importarTR31()

void importTR31 ( String kbpk,
String key,
int keyAttributes,
byte[] keyBlock ) throws TacException

Importe una clave en formato TR-31 según la norma ASC X9 TR 31-2018.

Parámetros
kbpkNombre de la clave KBPK (Key Block Protection Key) utilizada para derivar las claves de cifrado y autenticación.
keyNombre de la clave que se importará en el HSM.
keyAttributesParámetros adicionales de la clave. Consulte las opciones del método createKey().
keyBlockbloque de teclas
Excepciones
TacException
Notas
Esta API importa claves protegidas por los métodos de generación de la aplicación bloque_clave.
Algoritmo KBPK Método
3DES 5.3.2.1 Método vinculante de derivación de claves - TDEA
AES 5.3.2.3 Método de vinculación de bloques de claves - AES

exportKeyParts()

EftKeyParts exportKeyParts ( String keyId,
int flags ) throws TacException

Exportar una clave ZPK (Clave PIN de Zona) o ZMK (Clave Maestra de Zona).

La exportación se realiza por partes, con sus respectivos valores de comprobación, tal como se describe en el VISA Payment Technology Standards Manual, octubre de 2007.

Parámetros
keyIdNombre de la clave a exportar.
flagsSe aceptan las siguientes opciones.
Valor Significado
0 Genera el KCV (Key Check Value) de la clave según se define en ANSI X.9.24 con un tamaño de 3 bytes.
TacNDJavaLib.DN_EXP_ZPK_FLAG_FULL_CKS Genera el KCV (Key Check Value) de la clave según se define en ANSI X.9.24 con un tamaño de 8 bytes.
Devolución
Devuelve los valores de exportación de la clave ZPK o ZMK, que contienen el KCV (Key Check Value) y los valores de comprobación necesarios para reconstruir la clave.
Ver también
EftKeyParts
Notas
Puede utilizarse para exportar claves que sigan la norma de exportación por partes descrita en el Manual de Normas de Tecnología de Pago VISA, octubre de 2007, Capítulo 7 y Apéndice C. Puede utilizarse para claves ZPK (Clave PIN de Zona), ZMK (Clave Maestra de Zona)/ZCMK (Clave Maestra de Control de Zona), por ejemplo.
Excepciones
TacException

importKeyParts()

void importKeyParts ( String keyId,
int keyAlg,
EftKeyParts parts,
int flags ) throws TacException

generarCVV()

String generateCVV ( String keyId,
String pan,
String expirationDate,
String serviceCode,
int params ) throws TacException

Genera un CVV (Card Verification Value), CVV2 o iCVV utilizando una clave dentro del HSM.

Esta API también puede utilizarse para generar códigos de verificación de tarjetas compatibles con el protocolo 3-D Secure. En el caso de Visa, el servicio que implementa el protocolo es Verified by Visa, y el HSM soporta el estándar CAVV (Cardholder Authentication Verification Value, que es CVV2 con método ATN). En el caso de Mastercard, el protocolo 3-D Secure se implementa en el servicio SecureCode, y el HSM soporta los estándares CVC2 (Card Verification Code 2) y HMAC SHA1.

Parámetros
keyIdNombre de la clave. Esta clave es la CVK (Card Verification Key), una clave 3DES de 112 bits, y debe ser la misma que la utilizada para la verificación del CVV. Esta clave puede generarse internamente en el HSM o importarse manualmente.
Normalmente esta clave también se utiliza en Visa, enviada cifrada por ZCMK (Zone Contro Master Key).
Como se indica en el manual de Visa, la clave 3DES 112 utilizada como CVK debe ser diferente de la clave utilizada para la generación y verificación del PIN y no debe utilizarse para otras aplicaciones del emisor, a excepción de CVV2 e iCVV.
panPAN (Número de cuenta principal). Tamaño de 12 a 19 caracteres.
Para el cálculo de CVV, CVV2 e iCVV, según el estándar de Visa en el Payment Technology Standards Manual 2007, el tamaño del PAN es independiente. Para el cálculo del CVC2, según el documento de Mastercard SPA Algorithm for the MasterCard Implementation of 3-D Secure - v1.04, el tamaño del PAN debe ser exactamente de 16 dígitos; cuando es menor, debe completarse por la izquierda con ceros, y cuando es mayor, sólo deben utilizarse los 16 dígitos del extremo derecho.
expirationDateFecha de caducidad. Longitud de 4 dígitos.
Al generar CVV e iCVV, el formato debe ser AAMM.
Para la generación de CVV2, el formato debe ser MMYY.
Al calcular el CVC2, este campo debe ser una cadena terminada en cero con los 4 dígitos menos significativos del número de secuencia de la transacción, contenido en el AVV (Accountholder Authentication Value) convertido al BCD decimal equivalente. Cualquier valor inferior a 4 dígitos debe completarse a la izquierda con ceros hasta llegar a 4 dígitos. Para más detalles, consulte el documento de Mastercard SPA Algorithm for the MasterCard Implementation of 3-D Secure - v1.04.
Al calcular CAVV (CVV2 con el método ATN), este campo debe ser una cadena terminada en cero con los 4 dígitos menos significativos del ATN (Authentication Tracking Number). Para obtener más información, consulte el documento de Visa 3-D Secure Requisitos funcionales Servidor de control de acceso v. 1.0.2.
serviceCodeCódigo de servicio. Longitud de 3 dígitos.
Para la generación iCVV (Alternate Card Verification Value), el Código de Servicio debe ser 999.
Para la generación de CVV 2, el Código de Servicio debe ser 000.
Para la generación de CVV tradicional, el Código de Servicio suele ser 101.
paramsReservado para uso futuro (debe ser 0).
Devolución
Longitud de 3 dígitos.
El valor generado también puede ser un CVV2 o un iCVV, en función de los valores del Código de Servicio introducidos.
Excepciones
TacException
Notas
La API también es compatible con la norma American Express.

verificarCVV()

boolean verifyCVV ( String keyId,
String pan,
String expirationDate,
String serviceCode,
String cvv,
int params ) throws TacException

Comprueba un CVV (Card Verification Value), CVV2 o iCVV utilizando una clave dentro del HSM.

La API también puede utilizarse para verificar códigos de verificación de tarjetas compatibles con el protocolo 3-D Secure. Consulte más detalles en la API generateCVV().

Parámetros
keyIdNombre de la clave. Esta clave es la CVK (Card Verification Key), una clave 3DES de 112 bits, y debe ser la misma que la utilizada para generar el CVV.
panPAN (Número de cuenta principal). Longitud de 12 a 19 caracteres.
Consulte más detalles sobre este campo en la API generateCVV().
expirationDateFecha de caducidad. Longitud de 4 dígitos.
Para la verificación CVV e iCVV, el formato debe ser AAMM.
Para la verificación CVV 2, el formato debe ser MMYY.
Para obtener información sobre la compatibilidad con los algoritmos del protocolo 3-D Secure, consulte más detalles sobre este campo en la API generateCVV().
serviceCodeCódigo de servicio. Longitud de 3 dígitos.
Para la verificación iCVV (Alternate Card Verification Value), el Código de servicio debe ser 999.
Para la verificación CVV 2, el código de servicio debe ser 000.
cvvCVV a validar. Longitud de 3 dígitos.
El valor introducido también puede ser un CVV2 o iCVV, en función de los valores del Código de Servicio introducidos.
paramsReservado para uso futuro (debe ser 0).
Devolución
Devuelve true si el CVV es válido, o false si no lo es.
Excepciones
TacException

verifyPINBlock()

boolean verifyPINBlock ( String ptk,
String pgk,
String pan,
String offset,
byte[] pinBlock,
int param ) throws TacException

Comprueba la validez de un PIN en un bloque de PIN.

Parámetros
ptkIdentificador de la clave de descifrado del "Bloque PIN" dentro del HSM. Es la clave de transporte del PIN.
pgkIdentificador de la clave que se utilizará para la verificación del PIN en el HSM. Es la clave de generación del PIN.
panPAN (Número de cuenta principal). Longitud de 12 a 19 caracteres.
offsetDesplazamiento del PIN. Debe estar comprendido entre TacNDJavaLib. MIN_EFT_PIN_LEN y TacNDJavaLib.MAX_EFT_PIN_LEN.
pinBlockBloque PIN que debe validarse. El formato de PIN Block esperado es ISO PIN Block Format 0 (equivalente a ANSI PIN Block Format 0 y VISA PIN Block Format 1). El búfer debe tener el tamaño de un PIN Block, TacNDJavaLib.DES_BLOCK (8 bytes).
paramReservado para uso futuro (debe ser 0).
Devolución
Devuelve true si el PIN es válido, o false si no lo es.
Excepciones
TacException