v1

latestOpenAPI 3.0.32026-07-26208618579.9 KB
PIN operations with pre-shared key

Get encrypted PIN

This operation returns the encrypted PIN block in ISO format 1. The PIN block is encrypted using a pre-shared double-length 3DES key.

Example

var pinResponse = pinApiClient.get()
        .uri("/pin/v2/{plasticId}?zpkIndex={zpk}&auditUser={user}", 123456, 0, "test")
        .retrieve()
        .bodyToMono(PinResponse.class)
        .block();
// preshared zpk
var zpk = Hex.decode("00112233445566778899AABBCCDDEEFF0011223344556677");
// decrypt pinBlock with zpk
var des = Cipher.getInstance("DESede/ECB/NoPadding");
des.init(Cipher.DECRYPT_MODE, new SecretKeySpec(zpk, "DESede"));
var decryptedPinBlock = Hex.toHexString(des.doFinal(Hex.decode(pinResponse.getPinBlock())));
get/v2/{plasticId}

Path parameters

plasticIdstring biginteger required

The plastic id for given card

Query parameters

auditUserstring required

The audit user to log the request

zpkIndexstring required
Example:0

The PIN encryption key (ZPK) index. This index is used to point out which key to use in case there are multiple keys available.

Response

Successful lookup of the card

pinBlockstring

3DES encrypted ISO format 1 PIN block in hexadecimal.