我正在尝试构建卡销解决方案,使客户能够登录到Web门户并设置自己的卡PIN,然后生成新PIN的PVV值。
我要使用的命令列表是
JG \ JH命令在LMK下需要一个PIN,这意味着我需要先对客户PIN执行BA \ BB命令,然后才能继续。为此,HSM必须处于授权状态。
是否有其他方法可以实现这一目标?
答案 0 :(得分:0)
好吧,正确的方法是以与在ATM终端上相似的方式进行操作。
1。创建一个清晰的PIN码块
For ex. PIN = 1234 PAN = 400000000000002 Block 1 [0+Pin Length+Filler to make it 16]: 0+ 4+1234+FFFFFFFFFF = 41234FFFFFFFFFF Block 2 [0000 + PAN(12, exclude first 3 and last check digit)]: 0000 + 000000000000 = 0000000000000000 Clear PIN Block = XOR(Block 1 , Block 2)
2。在ZPK下加密(应用3DES)清除PIN块。
如果您使用的是Java,请尝试使用javax.crypto.Cipher。
3。在命令“ FW”中使用加密的PIN块生成PVV
- 命令代码(FW)
- PIN加密密钥类型(ZPK为001)
- PIN加密密钥(ZPK)
- PIN验证密钥
- 密码块
- PIN码块格式代码
- PAN /帐户(12)
- PVKI