【问题标题】:Safenet HSM doesn't response to the messageSafenet HSM 不响应该消息
【发布时间】:2017-08-23 03:39:46
【问题描述】:

我是 HSM 新手,我正在使用 TCP 连接与“safenet ProtectHost EFT”HSM 进行通信。所以一开始我尝试通过发送以下消息来调用“HSM_STATUS”方法。

完整消息(带标题):

0000 0001 0000 0001 0001 1001 1011 1111 0000 0000 0000 0001 0000 0001

此消息可按如下方式分解(按相反顺序):

消息:

0000 0001是1字节长的命令:'01'(功能码 HSM_STATUS 方法是 '01')

安全网标头:

0000 0000 0000 0001 是 2 字节长的消息长度:'1' (函数调用'0000 0001'的长度为'1')

0001 1001 1011 1111 是 2 字节长的序列号(任意 与响应一起返回的请求消息中的值 消息并且不被 ProtectHost EFT 解释)。

0000 0001 是 1 字节长的版本号(二进制 1 如 手动)

0000 0001 是 1 字节长的 ASCII Start of Header 字符(十六进制 01)

但是 HSM 没有为此消息提供任何输出。

谁能告诉这可能是什么原因?我在形成此消息时做错了什么?

【问题讨论】:

    标签: command messaging hsm


    【解决方案1】:

    即使我遇到了同样的问题并解决了它。根本原因是 HSM 希望用户提供准确的输入长度。

    也就是说,SOH 值需要准确地为 1 字节长度,因为您的输入为 4 字节长度。因此,HSM 的以下输入将为您提供正确的输出:

    String command = "01"// SOH + "01"// version + "00"// arbitary value
    + "00"// arbitary value + "00"// length + "01"// length + "01" ; // function call
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2019-04-22
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      相关资源
      最近更新 更多