注意:
- Mac中不能打開pem格式的文件,需要先把pem格式轉(zhuǎn)換為der格式才能被識別
- 在iOS開發(fā)中pem和der格式的私鑰不能直接使用,需要導(dǎo)出為p12格式的文件
- 以下操作生成的所有文件都會保存在用戶初始cd到的文件夾
- 生成一個1024位的私鑰文件rsa_private_key.pem
$ openssl genrsa -out rsa_private_key.pem 1024 - 從私鑰中提取公鑰rsa_public_key.pem
$ openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -outform PEM -pubout - 將私鑰轉(zhuǎn)換成 DER 格式:
$ openssl rsa -in rsa_private_key.pem -out rsa_private_key.der -outform der - 將公鑰轉(zhuǎn)換成 DER 格式:
$ openssl rsa -in rsa_public_key.pem -out rsa_public_key.der -pubin -outform der - 以明文輸出私鑰內(nèi)容:
$ openssl rsa -in rsa_private_key.pem -text -out rsa_private_key.txt - 以明文輸出公鑰內(nèi)容:
$ openssl rsa -in rsa_public_key.pem -out rsa_public_key.txt -pubin -pubout -text - 使用公鑰加密小文件msg.txt:
$ openssl rsautl -encrypt -pubin -inkey rsa_public_key.pem -in msg.txt -out msg.bin - 使用私鑰解密小文件msg.bin:
$ openssl rsautl -decrypt -inkey rsa_private_key.pem -in msg.bin -out a.txt - 把RSA私鑰轉(zhuǎn)換成PKCS8格式:
$ pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt - 從私鑰創(chuàng)建公鑰證書請求:
$ openssl req -new -key rsa_private_key.pem -out rsa_public_key.csr - 生成證書并簽名(有效期10年):
$ openssl x509 -req -days 3650 -in rsa_public_key.csr -signkey rsa_private_key.pem -out rsa_public_key.crt - 把crt證書轉(zhuǎn)換為der格式:
$ openssl x509 -outform der -in rsa_public_key.crt -out rsa_public_key.der - 把crt證書生成私鑰p12文件:
$ openssl pkcs12 -export -out rsa_private_key.p12 -inkey rsa_private_key.pem -in rsa_public_key.crt
參考資料