1.java生成的公私钥格式为 pkcs8(PKCS8EncodedKeySpec), 而openssl默认生成的公私钥格式为 pkcs1

    2.java采用的rsa默认补齐方式是pkcs1 (RSA/None/PKCS1Padding), 因此互用的时候需要将openssl中的补齐方式设置为RSA_PKCS1_PADDING

    3.RSA加密中,加密数据长度有限制,不能超过密钥长度-11, 如密钥为1024位,则最长的加密数据位117字节;

加密后的密文长度总是为密钥的一半,即1024位的密文为512位

 

1)生成RSA私钥
openssl genrsa -out rsa_private_key.pem 1024

 

2)把RSA私钥转换成PKCS8格式
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem

 

3)生成RSA公钥
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

 

参考:

PKCS8密钥格式

相关文章:

  • 2022-01-16
  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-27
  • 2022-12-23
  • 2021-12-27
  • 2021-07-13
  • 2021-09-05
  • 2022-12-23
相关资源
相似解决方案