我们假设以下私钥(十六进制): dd1cd59c4de2fa92e363dac282afe790a5193177d413b38e206b2b86b879ffbf .

我想通过openSSL用这个私钥签名 . OpenSSL需要一个pem文件作为密钥 . 所以我试图将上面的十六进制字符串转换为PEM文件 .

据我所知,到目前为止,我需要执行以下步骤:

  • 将以下前缀添加到十六进制字符串: 30740201010420 .

  • 在十六进制字符串后添加以下字符串: a00706052b8104000aa144034200 .

  • 添加公钥

所以我最终得到了以下十六进制字符串: 30740201010420dd1cd59c4de2fa92e363dac282afe790a5193177d413b38e206b2b86b879ffbfa00706052b8104000aa144034200049d0f70eed85345ca5c1c04563bed19608562c37d644061785a836e8f199155f2818a1e2661f9ed501d8f906611892099a9de5a7ea9f641ecb4dd75bbb63c2d5a .

我把它转换为二进制和base64结果:

-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIN0c1ZxN4vqS42PawoKv55ClGTF31BOzjiBrK4a4ef+/oAcGBSuBBAAK
oUQDQgAEnQ9w7thTRcpcHARWO+0ZYIViw31kQGF4WoNujxmRVfKBih4mYfntUB2P
kGYRiSCZqd5afqn2Qey03XW7tjwtWg==
-----END EC PRIVATE KEY-----

这是正确的做法吗?这是一个有效的PEM密钥吗?