我正在使用 SafeNet HSM 并尝试执行命令 EE9001 以生成 RSA 密钥对:
Request to HSM:
\01\01\22\00\00\13\EE\90\01\12\17\18\46\44\24\58\73\00\00\02\08\00\01\00\01
在哪里,
\01\01\22\00 是 Header
\00\13 是 Message Length
\EE\90\01 是 Function Code
\12\17\18\46\44\24\58\73 是 Command Identifier
\00 是Function Modifier
\00\02 是 KeyType
\08\00是模数大小
\01\00\01是公共指数
Response from HSM:
01 01 22 00 00 0C EE 90 01 12 17 18 46 44 24 58 73 03
最后 2 个字符代表错误代码,即 03,这意味着:Incorrect message length。似乎错误代码缺少前导,因为请求命令中的十六进制长度是正确的。
提示:在文档中它写道:
1. 确保模数与指定的公共指数兼容。(我不知道他们在谈论什么兼容性!)
- 'Public Exponent' 和 'User Data' 的 Var 长度可能很难将两者分开(以找出它们的实际长度)。
以下是手册中的命令('h' 代表十六进制值):
我已经执行了另一个命令'9B'来生成 CVV,并且成功执行。但是在该命令中没有可变长度请求内容。
非常感谢您的帮助!