JBOSS GCA 憑證 SSL 安裝筆記

RojerChen.2014.05.02

最近這幾天在安裝 GCA 憑證,由於是第一次裝在 JBOSS 上面,遇到了一些問題卡了很久,最後終於找出問題所在,終於可以跑 HTTPS 了(撒花),順便紀錄一下遇到的一些問題給大家參考參考。

我使用的 JBOSS 版本是 1.7.1 final 這個版本,然後透過 Keytool 來產生憑證請求檔案和匯入憑證的處理。安裝的方法可以參考 Christina 的 J老闆 的文章,裡面對於安裝的步驟已經說了很清楚了,這邊就不再說明安裝的步驟,只針對我遇到的狀況做提出:



※安裝步驟

  1. 因為要處理 GCA 憑證的匯入,請先將 GCA 升級到 1.7 的版本 (不升級 new_with_old 和 old_with_new 這兩個沒辦法匯入)
  2. 產生憑證請求檔時,注意 keytool -genkey -alias  的這個名稱,未來做匯入時要使用這個名稱匯入
  3. 收到 GCA 憑證後,先後匯入 grca , grca2 , new_with_old , old_with_new , gca , gca2 keytool -import -alias grca -keystore   -file
  4. 最後匯入申請下來的憑證,注意匯入時的 -alias 要和先前產生的名稱一樣
  5. 設定 JBOSS 的 standalone.xml 設定檔
  6.   <connector name="https" protocol="HTTP/1.1" scheme="https" secure="true" socket-binding="https">  
      <ssl certificate-key-file="path" key-alias="" name="ssl" password="password">  
      </ssl></connector>   
    
  7. 啟動 JBOSS,輸入 https://網址 看看 HTTPS 有沒有跑起來,然後憑證是否信任,如果你的憑證是透過第三方公認的,但是網頁啟動卻說憑證沒有信任這樣的訊息就表示安裝不成功。
※注意事項
  1. 請記住產生憑證請求檔的 -alias 名稱,最後匯入GCA給的憑證也要使用該,否則最後啟動網站後,瀏覽器會提示說不安全的憑證
  2. 當環境比較複雜有不同的JKD時,建議下指令時請用絕對路徑,並且指定 的位置,避免匯入時匯入到別的裡面
  3. 檢視憑證有沒有匯入成功可以透過 keytool -list - keystore 來檢查
  4. 啟動JBOSS後,如果跑出這樣的錯誤訊息
  5. ERROR [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-1) Error initializing endpoint: java.io.IOException: Alias name tomcat does not identify a key entry 這大概就表示你產生的 -alias 名稱不是 tomcat,麻煩請問產生憑證請求檔的人,當初設定的為何,或是檢查最原始的,看看哪個名稱是 Private Key Entry,然後再設定該名稱即可

※系統環境
JBoss SSL cannot recover key
※系統環境
Windows Server 2012
JBoss 1.7.1 final (下載)
JDK 1.7.0_25

※JBoss官方文件
JBoss SSL Configuration HOW-TO
JBoss HTTPS Connector

※網路參考文件
Christina 的 J老闆
GCA Tomcat SSL 安裝文件

    Blogger Comment

0 意見: