openssl rsa 使用

openssl生成私鑰:

openssl?genrsa -out rsa_private_key.pem 1024

基于私鑰生成公鑰:

openssl?rsa?-in?rsa_private_key.pem?-out?rsa_public_key.pem?-pubout?writing?RSA?key

1、openssl默認(rèn)生成私鑰為pkcs#1格式,java直接使用會(huì)報(bào)錯(cuò)(但可被openssl使用,如php可使用openssl函數(shù))

java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException:

IOException : algid parse error, not a sequence

2、java需要使用需要新增以下代碼,即可使用pkcs#1格式

RSAPrivateKeyStructure asn1PrivKey =?new?RSAPrivateKeyStructure((ASN1Sequence) ASN1Sequence.fromByteArray(priKeyData));

RSAPrivateKeySpec rsaPrivKeySpec =?new?RSAPrivateKeySpec(asn1PrivKey.getModulus(), asn1PrivKey.getPrivateExponent());

KeyFactory keyFactory= KeyFactory.getInstance("RSA");

PrivateKey priKey= keyFactory.generatePrivate(rsaPrivKeySpec);

3、pkcs#1格式轉(zhuǎn)換為pkcs#8格式,則java可以正常使用

openssl?pkcs8?-topk8?-in?rsa_private_key.pem?-out?pkcs8_rsa_private_key.pem?-nocrypt

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • openssl的證書格式轉(zhuǎn)換 證書轉(zhuǎn)換 PKCS 全稱是 Public-Key Cryptography Stan...
    五大RobertWu伍洋閱讀 12,120評論 1 4
  • 嘟噥嘟噥:最近接到一個(gè)任務(wù):在客戶端動(dòng)態(tài)生成RSA密鑰對,然后向服務(wù)器發(fā)送這個(gè)密鑰對中的公鑰字符串,由服務(wù)器進(jìn)行公...
    TimmyR閱讀 8,352評論 19 21
  • 教學(xué)相長,師徒共進(jìn)。今天是師徒日課的第193天。 今天談一本書:《從優(yōu)秀到卓越》 幾年前看過《基業(yè)長青》,制定了道...
    大師兄仁仁愛閱讀 941評論 0 1
  • 千萬不要隨意屏蔽別人的朋友圈,里面學(xué)習(xí)的東西很多。今天我又學(xué)到一招,比如說排隊(duì)。是不是很有創(chuàng)意,哈哈
    秋風(fēng)落葉_f535閱讀 510評論 1 0
  • 2017.3.8晨起感恩 累計(jì)61 感恩大恩上師及諸佛菩薩的護(hù)佑和加持 感恩歷代宗親的傳承 感恩老媽的養(yǎng)育之恩,...
    鵲曾閱讀 119評論 0 0

友情鏈接更多精彩內(nèi)容