閱讀227 返回首頁    go 阿裏雲


什麼是公鑰和私鑰?__常見問題_產品常見問題_證書服務-阿裏雲

公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。公鑰通常用於加密會話密鑰、驗證數字簽名,或加密可以用相應的私鑰解密的數據。通過這種算法得到的密鑰對能保證在世界範圍內是唯一的。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數據,必須用另一個密鑰解密。比如用公鑰加密數據就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會成功。

數字證書是一個經證書授權中心(CA)數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。數字證書還有一個重要的特征就是隻在特定的時間段內有效。

阿裏雲證書服務對您密鑰的加密算法和長度有如下要求:加密算法使用RSA,加密長度至少2048,推薦您使用2048位,SHA256摘要算法。

您可以通過如下方式創建私鑰:

一. 使用OpenssL生成私鑰。
OpenssL是一個強大且應用廣泛的安全基礎庫工具,您可以在 https://www.openssl.org/source/ 來獲取最新的openssl安裝包(版本要>=1.0.1g)。

在命令行模式下運行:
openssl genrsa -out myprivate.pem 2048 

來生成您的私鑰文件: myprivate.pem, 其中"2048"是加密長度


二. 使用Keytool導出私鑰。
Keytool是JDK中自帶的密鑰管理工具,可以製作Keystore(jks)格式的證書文件,您可以在 https://www.oracle.com/technetwork/java/javase/downloads/index.html 中下載JDK來獲取keytool工具。

因為keystore製作公鑰和私鑰默認是不可以導出的,所以需要您從已經創建好的 .keystore 文件中導出私鑰。
從 .keystore 中導出私鑰需要參考 主流數字證書都有哪些格式?中的轉換方法1和4。

在導出的文件中
-----BEGIN RSA PRIVATE KEY-----
......
-----END RSA PRIVATE KEY-----
或者類似於
-----BEGIN PRIVATE KEY-----
......
-----END PRIVATE KEY-----
的即是私鑰。


無論哪種方式生成密鑰,都請您完善的保護好您的私鑰文件,私鑰文件如果丟失或者損壞,您申請對應的公鑰/數字證書將無法使用。

最後更新:2016-07-12 16:04:35

  上一篇:go [ASP.NET]Session在多個站點之間共享解決方案__IIS Service_Web服務/數據庫服務_Windows操作運維問題_雲服務器 ECS-阿裏雲
  下一篇:go 審核失敗 - 主域名不能為空__常見問題_產品常見問題_證書服務-阿裏雲