1. 程式人生 > >openssl 生成公鑰和私鑰(包含16進位制公鑰)

openssl 生成公鑰和私鑰(包含16進位制公鑰)

1. 生成原始 RSA私鑰檔案 rsa_private_key.pem
openssl genrsa -out rsa_private_key.pem 1024

2. 將原始 RSA私鑰轉換為 pkcs8格式,JAVA需要使用的私鑰需要經過 PKCS8 編碼
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_java.pem

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

4. 生成 RSA公鑰 rsa_public_key_java.pem,PKCS8 對應的公鑰
openssl rsa -in rsa_private_key_java.pem -pubout -out rsa_public_key_java.pem

5. 從公鑰 rsa_public_key.pem 獲取十六進位制的公鑰(第一段16進位制字串,用於前端js加密)
openssl asn1parse -out temp.ans -i -inform PEM<rsa_private_key.pem

6. 從公鑰 rsa_public_key.pem 獲取十六進位制的公鑰(第一段16進位制字串) PKCS8 對應的十六進位制的公鑰
openssl asn1parse -out temp_java.ans -i -inform PEM<rsa_private_key_java.pem

最終獲取檔案列表:
rsa_private_key.pem
rsa_public_key.pem
rsa_private_key_java.pem
rsa_public_key_java.pem
16進位制公鑰字串用於js端加密