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

Cryptography RSA密钥对生成命令EE9001给出错误03,cryptography,hsm,Cryptography,Hsm,我正在使用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是标题 \00\13是消息长度 \EE\90\01是功能代码 \12\17\18\46\44\24\58\73是命令标识符 \00是函数修饰符 \00\02是键类型 \08\00是模数大小 \

我正在使用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是标题
\00\13是消息长度
\EE\90\01是功能代码
\12\17\18\46\44\24\58\73是命令标识符 \00是函数修饰符
\00\02是键类型
\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个字符表示错误代码i-e 03,表示:消息长度不正确。由于请求命令中以十六进制表示的长度是正确的,因此错误代码似乎没有前导

提示:在文档中,其内容为:
1.确保模数与指定的公共指数兼容。(我不知道他们在说什么兼容性!)

  • “公共指数”和“用户数据”的Var长度可能使两者难以分离(以计算其实际长度) 以下是来自手动的命令(“h”表示十六进制值):

    我已经执行了另一个用于生成CVV的命令“9B”,并且该命令已成功执行。但在该命令中没有Var-length请求内容


    非常感谢你的帮助

    我终于明白了!我的一个朋友帮我做这件事

    请求:

    \01\01\22\00\00\15\EE\90\01\12\17\18\46\44\24\58\73\00\00\02\01\00\03\01\00\01\00
    
    在哪里,

    \01\01\22\00是标题
    \00\15是消息长度
    \EE\90\01是功能代码
    \12\17\18\46\44\24\58\73是命令标识符 \00是函数修饰符
    \00\02是键类型
    \01\00是模数大小
    03\01\00\01是公共指数(这里03表示Var字段的长度)
    00\是用户数据

    Response from HSM:
         01 01 22 00 00 0C EE 90 01 12 17 18 46 44 24 58 73 03
    
    反应是成功的