使用openSSL製作SSL證書
1.將openSSL的bin目錄設定為環境變數
2.set OPENSSL_CONF=E:\OpenSSL-Win32\bin\openssl.cfg
3.以管理員身份執行命令視窗
以下內容均擷取於這篇文章
新建資料夾用於存放證書,如“D:\keystore”,在命令提示符視窗切換到這個路徑,執行以下命令
1.生成伺服器的私鑰:
openssl genrsa -out server.key 1024
2.生成簽署申請(注意除Common Name以外可以為空,Common Name必須為伺服器的ip或域名):
openssl req -new -out server.csr -key server.key
3.生成CA私鑰
openssl genrsa -out ca.key 1024
4.利用CA的私鑰產生CA的自簽署證書(注意除Common Name和organizationName以外可以為空,Common Name必須為伺服器的ip或域名(內外網區分), organizationName必須和上一次一致):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
5. 在當前目錄建立demoCA,裡面建立檔案index.txt和serial,serial內容為01,index.txt為空,以及資料夾newcerts。
CA為網站伺服器簽署證書:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
6.把服務端程式碼轉換瀏覽器可以識別的PCS12格式,密碼使用上面輸入的密碼。
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12
7.使用jetty中的PKCS12Import工具類完成轉換,密碼同上.(jetty-5.1.10.jar在當前資料夾中)
java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks
8.使用下面命令檢視jks檔案中包含的證書資訊
keytool -v -list -keystore server.jks
至此客戶端證書ca.crt以及tomcat伺服器證書server.jks已經生成完畢。