如何从X509转换为PKCS1编码的RSA密钥

问题描述 投票:1回答:1

对于上下文,我试图在M2Crypto中代替Python-RSA,但是这个问题并不是真正针对语言或库的。

[如果我有X509格式的RSA公钥(以---- BEGIN PUBLIC KEY-开始),我需要怎么做才能将其转换为PKCS1(以---- BEGIN RSA PUBLIC KEY-开始---)格式?

[This thread似乎描述了朝相反的方向前进。

rsa x509 m2crypto pkcs#1
1个回答
0
投票

基本上,您需要OpenSSL(Linux应用程序)。使用OpenSSL,您可以运行以下命令以将X509转换为PKCS1:

openssl rsa -pubin -in x509_public.key  -RSAPublicKey_out > rsa_public.key

我必须从PFX文件中提取SSL证书和PKCS1-Key。为此,我使用了以下命令:

openssl pkcs12 -in pfx_file.pfx -clcerts -nokeys -out certificate.cer

(提取证书)

openssl pkcs12 -in pfx_file.pfx -nocerts -nodes -out rsa_pair.key

(提取RSA密钥对)

openssl rsa -in rsa_pair.key -out rsa_private.key

(提取RSA私钥)

openssl rsa -in rsa_pair.key -pubout -out x509_public.key

(提取“错误的” X509公钥)

openssl rsa -pubin -in x509_public.key  -RSAPublicKey_out > rsa_public.key

(最后提取RSA-PKCS1公钥)

可能有一些更好的方法,但是我花了很长时间才到达这里。我希望我可以从漫长的网上搜索中拯救别人。

© www.soinside.com 2019 - 2024. All rights reserved.