1. 生成根證書
1.1 生成CA證書私鑰
openssl genrsa -aes256 -out ca.key 2048
1.2 取消密鑰的密碼保護(hù)
openssl rsa -in ca.key -out ca.key
1.3 生成根證書簽發(fā)申請文件(csr文件)
openssl req -new -sha256 -key ca.key -out ca.csr -subj "/C=CN/ST=FJ/L=XM/O=NONE/OU=NONE/CN=localhost/emailAddress=test@test.com"
上述參數(shù)含義
-
req----執(zhí)行證書簽發(fā)命令
-
-new----新證書簽發(fā)請求
-
-key----指定私鑰路徑
-
-out----輸出的csr文件的路徑
-
C-----國家(Country Name)
-
ST----省份(State or Province Name)
-
L----城市(Locality Name)
-
O----公司(Organization Name)
-
OU----部門(Organizational Unit Name)
-
CN----產(chǎn)品名(Common Name)
-
emailAddress----郵箱(Email Address)
1.4 生成自簽發(fā)根證書(cer文件)
openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer
上述參數(shù)含義
- x509----生成x509格式證書
- -req----輸入csr文件
- -days----證書的有效期(天)
- -signkey----簽發(fā)證書的私鑰
- -in----要輸入的csr文件
- -out----輸出的cer證書文件
2. 生成服務(wù)端證書
2.1 生成服務(wù)端私鑰
openssl genrsa -aes256 -out server.key 2048
2.2 取消密鑰的密碼保護(hù)
openssl rsa -in server.key -out server.key
2.3 生成服務(wù)端簽發(fā)申請文件(csr文件)
openssl req -new -sha256 -key server.key -out server.csr -subj "/C=CN/ST=FJ/L=XM/O=NONE/OU=NONE/CN=localhost/emailAddress=test@test.com"
2.4 使用CA證書簽署服務(wù)器證書
openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer
上述參數(shù)含義
- -CA----指定CA證書的路徑
- -CAkey----指定CA證書的私鑰路徑
- -CAserial----指定證書序列號文件的路徑
- -CAcreateserial----表示創(chuàng)建證書序列號文件(即上方提到的serial文件),創(chuàng)建的序列號文件默認(rèn)名稱為-CA,指定的證書名稱后加上.srl后綴
3. 生成客戶端證書
3.1 生成客戶端私鑰
openssl genrsa -aes256 -out client.key 2048
3.2 取消密鑰的密碼保護(hù)
openssl rsa -in client.key -out client.key
3.3 生成客戶端端簽發(fā)申請文件(csr文件)
openssl req -new -sha256 -key client.key -out client.csr -subj "/C=CN/ST=FJ/L=XM/O=NONE/OU=NONE/CN=localhost/emailAddress=test@test.com"
3.4 使用CA證書簽署客戶端器證書
openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer
4. 單向認(rèn)證測試
4.1 服務(wù)端啟動(dòng)服務(wù)
openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 44444
4.2 客戶端連接
openssl s_client -CAfile ca.cer -cert client.cer -key client.key -host 127.0.0.1 -port 44444
5. 雙向認(rèn)證測試
5.1 服務(wù)端啟動(dòng)服務(wù)
openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 44444 -Verify 1
文章來源:http://www.zghlxwxcb.cn/news/detail-858142.html
5.2 客戶端連接
openssl s_client -CAfile ca.cer -cert server.cer -key server.key -cert client.cer -key client.key -host 127.0.0.1 -port 44444
文章來源地址http://www.zghlxwxcb.cn/news/detail-858142.html
到了這里,關(guān)于openssl自簽名CA根證書、服務(wù)端和客戶端證書生成并模擬單向/雙向證書驗(yàn)證的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!