【rsa】pkcs1 公钥 转 pkcs8 公钥

前言

最近工作需要进行加解密,对方使用的语言是 java ,rsa 密钥的格式是 pkcs8 ,我的语言使用的则是 pkcs1. 百度上只能找到两种格式私钥的互相转化,而没有提到公钥的互相转化,我测试了一番,发现了一个奇怪的结论。

正文

测试的过程是这样的,首先我生成一个 pkcs1 格式的私钥,然后根据其生成 pkcs8 格式的私钥,那之后根据两种私钥各自生成公钥。然而,生成的公钥是一模一样的,内容和形式是完全一样的。

'''

生成pkcs1私钥:openssl genrsa -out rsa_private_key.pem 1024

pkcs1私钥转pkcs8私钥:openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

pkcs1私钥转pkcs1公钥:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

pkcs8私钥转pkcs8公钥:openssl rsa -in rsa_private_key_8.pem -pubout -out rsa_public_key_8.pem

'''

那之后,我使用工具,用公钥加密后,分别使用 pkcs1 和 pkcs8 格式的私钥解密,均解密出了正确的结果。

结论

在私钥不使用密码的情况下,公钥的 pkcs1 和 pkcs8 格式内容应该是一模一样的。

你可能感兴趣的:(【rsa】pkcs1 公钥 转 pkcs8 公钥)