使用OpenSSL產生私密金鑰(Private Key)以及根據Private Key建立認證

來源:互聯網
上載者:User

公開金鑰和私密金鑰通常是成對出現的,有了公開金鑰那就存在對應的私密金鑰,通常OpenSSL,公開金鑰是很容易從私密金鑰中得到的,因而我們要建立認證,那我們首先要做的就是建立私密金鑰。

1、使用OpenSSL產生私密金鑰
常用的產生演算法有RSA及DSA,RSA產生的私密金鑰可以用來加密以及簽名,而DSA產生的私密金鑰只可以用來簽名
1.1)、RSA演算法產生key的樣本
 openssl genrsa -des3 -out privkey.pem 2048
 
genrsa:指定了產生了演算法使用RSA
-desc:表示產生的key是有密碼保護的(註:如果是將產生的key與server的認證一起使用,最好不要求輸入密碼,就是不要這個參數,否則其它人就會在請求的時候每次都要求輸入密碼)
-out:後面的參數表示產生的key的輸入檔案
2048:表示的是產生key的大小,單為位元組(bits)
1.2)、DSA演算法產生key的樣本
根據DSA演算法產生Key需要兩步:
1.2.1)、第一步是產生用於產生Key的參數:
 openssl dsaparam -out dsaparam.pem 2048
1.2.2)、根據產生的參數產生Key:
openssl gendsa -des3 -out privkey.pem dsaparam.pem

詳細參見:http://www.openssl.org/docs/HOWTO/keys.txt

2、使用OpenSSL建立認證申請及自我簽署憑證
在第1步中,我們已經建立好了私密金鑰,這個時候我們就可以使用建立好的private.pem來建立認證申請及自我簽署憑證。

2.1) 建立認證申請
openssl req -new -key privkey.pem -out cert.csr
使用上面的命令就會建立一個認證申請,這裡我們會要求輸入國家、組織、姓名等資訊,但是不會要求輸入認證有效天數,因為認證有效天數是CA認證中心給我們的;然後我們會把這個產生好的cert.csr(Certificate Signing Request (CSR):認證簽名申請)發給CA認證中心。
CA認證中心通過後,會反饋(通常是郵件)回來認證的資訊,再匯入即可。
關於匯出CSR以及匯入CA認證資訊,可以參看文檔:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html

2.2) 建立自簽名的認證
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
如果不需要第三方授權,或者是要建立一個用於測試的授權,我們就可以這樣操作。後面的參數"-days 1095"表示授權天數為1095天。

詳細參見:http://www.openssl.org/docs/HOWTO/certificates.txt

相關文章
阿里云产品大规模降价
  • 最高幅度達59%,平均降幅23%
  • 核心產品降價
  • 多地區降價
undefined. /
透過 Discord 與我們聯繫
  • 安全、匿名的群聊,不受干擾
  • 隨時了解活動、活動、新產品等訊息
  • 支持您的所有問題
undefined. /
免費試用
  • 開啟從ECS到大數據的免費試用之旅
  • 只需三步 輕鬆上雲
  • 免費試用ECS t5 1C1G
undefined. /

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.