https雙向認證時證書簽發和配置


1、生成CA自簽文件
 
1.1  在openssl-0.9.8h-1-bin\bin進入cmd窗口
    或者 cmd窗口路徑到openssl-0.9.8h-1-bin\bin下
1.2 
ras的秘鑰長度:2048
存放ca公鑰證書的路徑:D:/cert_test/root_ca/ca_cert.pem
證書的有效期(天): 3650
根證書配置文件:D:/jx_cert/conf/gen_ca.conf 根據自己的需要調整配置文件的私鑰證書證書存放路徑,頒發者名稱等
openssl req -x509 -newkey rsa:2048 -out D:/cert_test/root_ca/ca_cert.pem -outform PEM -days 3650 -config "D:/jx_cert/conf/gen_ca.conf"
執行此命令需要設置根證書密碼
 
本次測試設置的密碼是:test
運行完成1.1和1.2會生成ca_cert.pem和ca_private_key.pem這兩個文件
 
2、 生成tomcat.jks證書
tomcat.jsk證書存放路徑:D:\cert_test\service\tomcat.jks
tomcat.jks證書密碼:cert_test
頒發者名稱(需要和配置名字的頒發者名稱一樣):QTHD_CMBC_SMZF
 
命令行進入jre根目錄,執行
keytool -keystore D:\cert_test\service\tomcat.jks -keypass cert_test -storepass cert_test -alias tomcat -genkey -keyalg RSA -dname "CN=127.0.0.1, OU=servers, O=QTHD_CMBC_SMZF"
運行該命令后會生成tomcat.jks文件,在tomcat/bin目錄service.xml配置Https需要使用到該證書
生成的jks文件如下:
 
 

 

3、根據tomcat.jks證書生成服務器請求證書
tomcat.jks證書存放路徑:D:\cert_test\service\tomcat.jks
tomcat.jks證書密碼:cert_test
 
serverreq.pem證書存放路徑:D:\cert_test\service\serverreq.pem
keytool -keystore D:\cert_test\service\tomcat.jks -keypass cert_test -storepass cert_test -alias tomcat -certreq -file D:\cert_test\service\serverreq.pem
運行該命令后會生成serverreq.pem文件
 
4、CA簽署服務器證書
serverreq.pem證書存放路徑:D:\cert_test\service\serverreq.pem
servercert.pem證書存放路徑:D:\cert_test\service\servercert.pem
qthd_ca.conf配置文件存放路徑:D:\jx_cert\qthd_ca\qthd_ca.conf 根據需要調整配置文件的信息
 
需在D:\cert_test目錄下新建newcerts文件夾,需把index和serial放進D:\test目錄下
openssl ca -in D:\cert_test\service\serverreq.pem -out D:\cert_test\service\servercert.pem -config "D:\jx_cert\conf\ca.conf"
執行此命令需要輸入根證書密碼,並且需要同意簽署證書和同意請求認證提交

 

 
5、導入CA證書到keystore
tomcat.jks證書存放路徑:D:\cert_test\service\tomcat.jks
tomcat.jks證書密碼:cert_test
ca公鑰證書路徑:D:/cert_test/root_ca/ca_cert.pem
 
keytool -keystore D:\cert_test\service\tomcat.jks -keypass cert_test -storepass cert_test -alias ca -import -trustcacerts -file D:/cert_test/root_ca/ca_cert.pem 
執行此命令需要同意信任此證書
6、導入服務器證書到keystore
tomcat.jks證書路徑:D:\cert_test\service\tomcat.jks
tomcat.jks證書密碼:cert_test
servercert.pem證書存放路徑:D:\cert_test\service\servercert.pem
 
keytool -keystore D:\cert_test\service\tomcat.jks -keypass cert_test  -storepass cert_test -alias tomcat -import -file D:\cert_test\service\servercert.pem
執行此命令可能會提示證書回復已安裝在密鑰庫中,繼續執行下一步即可
 

 

7、查看keystore受信列表
keytool -keystore D:\cert_test\service\tomcat.jks -keypass cmbc_smzf -storepass cert_test  -list -v
 

 

8、將CA證書導入到受信keystore
truststore.jks證書路徑:D:\cert_test\service\truststore.jks
truststore.jks證書密碼:cert_test
ca公鑰證書路徑:D:\cert_test\root_ca\ca_cert.pem
 
keytool -keystore D:\cert_test\service\truststore.jks -keypass cert_test  -storepass cert_test  -alias ca -import -trustcacerts -file D:\cert_test\root_ca\ca_cert.pem
執行此命令時需要同意信任此證書,並且會生成truststore.jks證書
 

 

9、tomcat配置https
    需要在tomcat/conf目錄下調整service.xml文件
    A、注釋掉<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
    B、在兩個Connector中間添加
<Connector SSLEnabled="true" acceptCount="100" className="org.apache.coyote.http11.Http11Protocol" 
     clientAuth="true" connectionTimeout="30000" disableUploadTimeout="true" enableLookups="true" 
     keepAliveTimeout="30000" keystoreFile="D:\https\apache-tomcat-7.0.78\conf\ssl\tomcat.jks" 
     keystorePass="cert_test" maxIdleTime="60000" maxSpareThreads="100" maxThreads="350" 
     minSpareThreads="30" port="8443" scheme="https" secure="true" sslProtocol="TLS" 
     truststoreFile="D:\https\apache-tomcat-7.0.78\conf\ssl\truststore.jks" truststorePass="cert_test"/>
   本文中路徑如下,按自己實際路徑填寫 :
    tomcat.jks路徑:D:\https\apache-tomcat-7.0.78\conf\ssl\tomcat.jks
    tomcat.jks密碼:cert_test
    truststore.jks路徑:D:\https\apache-tomcat-7.0.78\conf\ssl\truststore.jks
    truststore.jks密碼:cert_test
配置完成啟動tomcat,並且訪問服務: https://localhost:8443/。訪問時如果提示此網站無法提供安全連接,說明tomcat配置https完成,請完成以下步驟,生成p12證書再次訪問。
10、創建客戶端秘鑰
客戶端key.pem路徑:D:\cert_test\certs\lzq_testKey.pem
客戶端req.pem路徑:D:\cert_test\certs\lzq_testreq.pem
頒發者名稱:ZAOMZ_CA
openssl req -newkey rsa:2048 -keyout D:\cert_test\certs\testKey.pem -keyform PEM -out D:\cert_test\certs\testreq.pem -outform PEM -subj "/O=ZAOMZ_CA/OU=ZAOMZ_CA/CN=qthd_test" -config "D:\jx_cert\openssl-0.9.8h-1-bin\share\openssl.cnf"
執行此命令會生成lzq_testKey.pem和lzq_testreq.pem

 

 
11、簽發個人證書
客戶端req.pem路徑:D:\cert_test\certs\lzq_testreq.pem
客戶端cert.pem路徑:D:\cert_test\certs\lzq_testreqcert.pem
ca配置文件路徑:D:\jx_cert\conf\ca.conf
 
openssl ca -in D:\cert_test\certs\testreq.pem -out D:\cert_test\certs\testreqcert.pem -config "D:\jx_cert\conf\ca.conf"
執行此命令時需要輸入根證書密碼:test
並且同意兩個條件
 

 

12、制作個人p12證書
cert.pem文件路徑:D:\cert_test\certs\lzq_testreqcert.pem
key.pem文件路徑:D:\cert_test\certs\lzq_testKey.pem
p12證書路徑:D:\cert_test\p12\lzq_test.p12
openssl pkcs12 -export -in D:\cert_test\certs\lzq_testreqcert.pem -inkey D:\cert_test\certs\lzq_testKey.pem -out D:\cert_test\p12\lzq_test.p12 -name lzq_test -chain -CAfile "D:\cert_test\root_ca\ca_cert.pem"
執行此命令需要輸入三次密碼。
到這里p12證書已經生成完成了,雙擊p12證書進行安裝,安裝時候需要輸入證書密碼:lzqtest,再次訪問 https://localhost:8443/,選擇已經按照的p12證書即可
 
注:
如果只需要生成p12證書,請一直重復第10、11、12步驟

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM