Openssl 将ASN.1 DER转换为PEM文件

Openssl 将ASN.1 DER转换为PEM文件,openssl,pem,asn.1,der,Openssl,Pem,Asn.1,Der,让我们假设以下私钥(十六进制):dd1cd59c4de2fa92e363dac282afe790a5193177d413b38e206b2b86b879ffbf 我想通过openSSL使用此私钥对消息进行签名。OpenSSL需要一个pem文件作为密钥。所以我试图将上面的十六进制字符串转换为PEM文件 据我目前所知,我需要执行以下步骤: 向十六进制字符串添加以下前缀:30740201010420 在十六进制字符串后添加以下字符串:a00706052b8104000aa144034200 添加公钥

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

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

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

  • 向十六进制字符串添加以下前缀:
    30740201010420
  • 在十六进制字符串后添加以下字符串:
    a00706052b8104000aa144034200
  • 添加公钥
  • 因此,我以以下十六进制字符串结束:
    30740201010420DD1CD59C4DE2FA92E363DAC282AFE790A5193177D413B38E206B2B86B879FFBFA00706052B8104000AA144034200049D0F70EED85345CA5C1C0456BED19608562C37D64061785A836E8F199155F2818A1E2661F9ED501D8F90661189209A5A7EA9F641ECB4D75BBC2D5A

    我将其转换为二进制和base64,结果如下:

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

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

    Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。也许试试。这比你的方法要简单得多。这个问题不是离题。Filezilla服务器位于1侧,使用DER格式C#.NET X509Certificate2类,使用ASN.1 DER