客户选择的PIN的HSM PIN命令

时间:2018-12-04 20:34:56

标签: hsm

我正在尝试构建卡销解决方案,使客户能够登录到Web门户并设置自己的卡PIN,然后生成新PIN的PVV值。

我要使用的命令列表是

  • JG \ JH(翻译PIN)
  • DG \ DH(生成PVV)

JG \ JH命令在LMK下需要一个PIN,这意味着我需要先对客户PIN执行BA \ BB命令,然后才能继续。为此,HSM必须处于授权状态。

是否有其他方法可以实现这一目标?

1 个答案:

答案 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
  •