建立openssl環境:
1. 安裝 openssl
2. 進入安裝目錄下的bin資料夾,把bin\pem\的democa資料夾複製到bin下
3. 進入democa下,新建乙個newcerts的資料夾
步驟概括:
在命令列下,進入openssl的bin資料夾,
1. openssl genrsa -des3 -out server.key 1024
2. openssl req -new -key server.key -out server.csr -config openssl.cfg
3. openssl genrsa -des3 -out client.key 1024
4. openssl req -new -key client.key -out client.csr -config openssl.cfg
5. openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cfg
6. openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cfg
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cfg
步驟詳細解釋:
1.首先要生成伺服器端的私鑰(key檔案,專門用於儲存金鑰):
openssl genrsa -des3 -out server.key 1024
執行時會提示輸入密碼,此密碼用於加密key檔案。引數des3便是指加密演算法,當然也可以選用其他你認為安全的演算法,具體參見其文件。以後每當需讀取此檔案(通過openssl提供的命令或api)都需輸入口令。
如果覺得不方便,也可以去除這個口令,但一定要採取其他的保護措施。去除key檔案口令的命令:
openssl rsa -in server.key -out server.key
2. 生成certificate signing request(csr),生成的csr檔案(儲存證書請求,用記事本開啟檢視可以發現時base64編碼)交給ca簽名後形成服務端自己的證書:
openssl req -new -key server.key -out server.csr -config openssl.cfg 螢幕上將有提示,依照其指示一步一步輸入要求的個人資訊即可。但要注意,其中的前三項(地域資訊和公司)在整個實驗過程填寫需要一致(後面生成ca、客戶端的csr檔案也需要填寫)。
3. 對客戶端也作同樣的命令生成key及csr檔案:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cfg
4. csr檔案必須有ca的簽名才可形成證書,因此要另外生成乙個ca證書
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cfg
5.用生成的ca的證書為剛才生成的server.csr,client.csr檔案簽名:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cfg
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cfg
注意事項 實驗報告請附帶提交你所生成的證書。此外實驗報告需要通過圖說明一下問題:
每日一得 20150606
mysql error 1217錯誤 error 1217 23000 cannot delete or update a parent row a foreign key constraint fails 可能是mysql在innodb中設定了foreign key關聯,造成無法更新或刪除資料。可...
每日一得 java反射
執行時載入類,使用動態載入,靜態載入出現異常,如下所示 1 使用new方式為靜態載入 public class office if excel equals args 0 結果 編譯異常 2使用反射class方式動態載入 public class officebetter catch excepti...
每日一得 MySQL全文檢索筆記
1.mysql 4.x版本及以上版本提供了全文檢索支援,但是表的儲存引擎型別必須為myisam,以下是建表sql,注意其中顯式設定了儲存引擎型別 create table articles id int unsigned auto increment not null primary key,tit...