v1
latestOpenAPI 3.0.32026-07-26208618579.9 KBPIN 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