專案需在本地搭建 WebLogic 8.1,C++ 客戶端以 HTTPS 協議進行數據交互。作者非 J2EE 專家,整理網上資料踩坑半天才搞定,特記錄避坑指南。
使用 JDK 自帶 keytool,在 C:\GetCA 目錄下操作:
keytool -genkey -alias cik -keyalg RSA -keysize 512 -keystore cik.jks
# 輸入信息,storepass 和 keypass 設為一致 (如 weblogic)
keytool -certreq -alias cik -sigalg "MD5withRSA" -file Careq.pem \
-keypass weblogic -keystore cik.jks -storepass weblogic
產出 cik.jks (Custom Identity Keystore) 和 Careq.pem (CSR)。
至 VeriSign 免費試用頁面,貼上 Careq.pem 內容提交。收到郵件後:
rootCA.cercertificate.pem# 建立 Custom Trust Keystore
keytool -import -alias rootca -trustcacerts -file rootCA.cer \
-keystore ciktrust.jks -storepass weblogic
# 必須先導入系統 cacerts,否則後續導入身份庫會報錯
keytool -import -v -alias "CMS-CA" -file rootCA.cer \
-keystore %JAVA_HOME%/jre/lib/security/cacerts
# 導入伺服器憑證至身份庫
keytool -import -trustcacerts -alias cik -file certificate.pem \
-keypass weblogic -keystore cik.jks -storepass weblogic
C:\bea\user_projects\domains\MyDomain\cik.jksweblogic,Type: JKSC:\bea\user_projects\domains\MyDomain\ciktrust.jksweblogic,Type: JKShttps://127.0.0.1:7002/ 驗證。最終需部署至 domain 目錄的兩個 JKS:cik.jks (Identity)、ciktrust.jks (Trust)。