RSA 密钥对生成命令 EE9001 给出错误 03

RSA Key Pair Generation Command EE9001 gives Error 03

我正在使用 SafeNet HSM 并尝试执行命令 EE9001 以生成 RSA 密钥对:

Request to HSM:
    [=10=][=10=]\EE[=10=][=10=][=10=][=10=]

其中,

[=66=] 是表头
[=67=] 是消息长度
\EE 是功能码
是命令标识符
\00 是函数修饰符
[=70=] 是KeyType
[=71=] 是模数大小
[=72=]是Public指数

Response from HSM:
     01 01 22 00 00 0C EE 90 01 12 17 18 46 44 24 58 73 03

最后 2 个字符代表错误代码,即 03,表示:错误的消息长度。似乎错误代码未命中,因为请求命令中的十六进制长度是正确的。

提示: 在文档中写着:
1. 确保模数与指定的 public 指数兼容。 (我不知道他们在说什么兼容性!)

  1. 'Public Exponent' 和 'User Data' 的 Var 长度可能很难将两者分开(计算出它们的实际长度)。

以下是手册中的命令('h' 代表十六进制值):

我执行了另一个用于生成 CVV 的命令“9B”,并且执行成功。但是在该命令中没有 Var length Request Content.

非常感谢您的帮助!

我终于明白了!我的一个朋友帮我解决了这个问题。

要求:

[=10=][=10=]\EE[=10=][=10=][=10=][=10=][=10=]

其中,

[=51=] 是表头
[=52=] 是消息长度
\EE 是功能码
是命令标识符
\00是函数修饰符
[=55=] 是KeyType
[=56=] 是模数大小
03[=56=]\01 是Public Exponent(这里03代表Var字段的长度)
00\ 是用户数据

回复成功!