Mac中如何用openssl生成RSA密鑰文件

注意:

  1. Mac中不能打開pem格式的文件,需要先把pem格式轉換為der格式才能被識別
  2. 在iOS開發中pem和der格式的私鑰不能直接使用,需要導出為p12格式的文件
  3. 以下操作生成的所有文件都會保存在用戶初始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
  • 將私鑰轉換成 DER 格式:$ openssl rsa -in rsa_private_key.pem -out rsa_private_key.der -outform der
  • 將公鑰轉換成 DER 格式:$ openssl rsa -in rsa_public_key.pem -out rsa_public_key.der -pubin -outform der
  • 以明文輸出私鑰內容:$ openssl rsa -in rsa_private_key.pem -text -out rsa_private_key.txt
  • 以明文輸出公鑰內容:$ 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私鑰轉換成PKCS8格式:$ pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
  • 從私鑰創建公鑰證書請求:$ 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證書轉換為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

參考資料

  1. 一步一步 搞定RSA(公鑰、私鑰)
  2. iOS開發加密實現-Base64,MD5,SHA1,ECB,BCB,RSA等
  3. 如何使用openssl生成RSA公鑰和私鑰對
  4. 使用OpenSSL生成RSA公鑰和私鑰
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容