加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java-ee – 如何以PEM格式生成PKCS#1 RSA密钥?

发布时间:2020-12-15 04:57:50 所属栏目:Java 来源:网络整理
导读:对不起我的英语,说实话,我对此有一点了解所以请耐心等待. 我正在开发一个将签名请求发送到服务器的Java应用程序. 为此,我必须生成PEM格式的PKCS#1 RSA密钥对,以进行签名和验证.我尝试过使用OpenSSL v.1.0.1.但生成的公钥是X.509 PEM. 这是我用来生成密钥的op
对不起我的英语,说实话,我对此有一点了解所以请耐心等待.

我正在开发一个将签名请求发送到服务器的Java应用程序.
为此,我必须生成PEM格式的PKCS#1 RSA密钥对,以进行签名和验证.我尝试过使用OpenSSL v.1.0.1.但生成的公钥是X.509 PEM.

这是我用来生成密钥的openssl命令:

私钥:

openssl genrsa -out name_of_private_key.pem 1024

公钥

openssl rsa -in name_of_private_key.pem -pub out > name_of_public_key.pem

我也经历了这个线程,我发现了一个开源JAVA库BouncyCastle:Generating RSA keys in PKCS#1 format in Java

但它说BouncyCastle仅用于PKCS#1填充而不是编码.

优选地,我正在寻找使用JAVA或任何第三方生成它的方法,如果没有其他选项可用.

解决方法

虽然OpenSSL库支持PKCS#1编码,但OpenSSL的命令行版本只会输出x.509格式的RSA公钥.不幸的是,除了编写一些使用OpenSSL库输出PKCS#1格式密钥的代码之外别无选择.

作为参考,PKCS#1密钥使用这些页眉/页脚:

-----BEGIN RSA PUBLIC KEY----- 
...
-----END RSA PUBLIC KEY-----

而x.509密钥使用这些页眉/页脚:

-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读