WebSphere Portal 中啟用 SSL 來進行使用者管理

genusBIT發表於2009-07-06

轉自:developerWorks

作者:王 添翼 (tianyiw@cn.ibm.com), 軟體工程師, IBM
閆 焱 (yanyan@cn.ibm.com), 高階軟體工程師, IBM
暴 瑩 (baoying@cn.ibm.com), 軟體工程師, IBM

前提條件

在 WebSphere Portal 中啟用 SSL 連線 LDAP 伺服器之前,請首先確認您已經能夠通過 Portal 的 WebSphere Member Manager(WMM)正常連線到 LDAP 伺服器的普通埠(一般為 386 或者 389)進行使用者管理。如果 WMM 無法正常工作,請參考 WebSphere Portal 的資訊中心裡 關於 WebSphere Member Manager 配置 的相關資訊。

然後,您需要在 LDAP 伺服器端開啟 SSL 連線,並匯出用於 SSL 連線的金鑰資料庫檔案。根據 LDAP 伺服器的種類不同,相關操作也略有不同,請諮詢您的 LDAP 管理員或有關網站來獲取這方面的資訊。

本文所有示例都是基於如下配置:

WebSphere Portal 環境:

作業系統 SUSE Linux Enterprise Server 9
WebSphere Portal 版本 6.0.1.4
WebSphere Application Server 版本 6.0.2.29

LDAP 伺服器環境:

作業系統 Microsoft Windows 2000, Service Pack 4
LDAP 伺服器型別 IBM Tivoli Directory Server
LDAP 伺服器版本 6.0
SSL 埠 636
金鑰資料庫型別 CMS
金鑰資料庫檔案 key.kdb

注:以上配置僅為參考資訊,是為了便於下文描述操作的具體步驟而提供,如果讀者的環境與上述環境有所不同,可根據自身情況,結合下文示例進行調整。本文所述方法適用於所有 6.0 以上版本的 WebSphere Portal 及其支援的 LDAP 伺服器。

金鑰資料庫檔案格式的轉換

關於 iKeyman

iKeyman 實用程式是一種您可以用來管理數字證照的工具。通過 iKeyman,您可以建立新的金鑰資料庫或測試數字證照、新增 CA 根到資料庫、 從一個資料庫複製證照到另一個資料庫、從 CA 請求和接收數字證照、設定預設密 鑰和更改密碼。iKeyman 通常位於 /bin 目錄下,在 Windows 系統中,通常也可以在 C:\Program Files\IBM\gsk6\bin 或者是 C:\Program Files\IBM\gsk7\bin 目錄下找到。

在成功啟用 LDAP 伺服器的 SSL 連線後,您將得到用於 SSL 連線的金鑰資料庫檔案,以 IBM Tivoli Directory Server 為例,該檔案通常為 CMS 格式(*.kdb),而在 WMM 中,我們需要格式為 JKS(*.jks)的金鑰資料庫檔案來進行 SSL 連線。

為了處理這種證照檔案格式不符的問題,我們需要藉助 IBM 金鑰管理工具(iKeyman)來幫助我們進行證照格式的轉換。

請按照如下步驟來轉換證照的格式:

匯入原始金鑰資料庫檔案

  1. 執行 iKeyman,並從 “ Key Database File ”下拉選單中選擇 “ Open ”。

    圖 1. 開啟證照檔案
    開啟證照檔案

  2. 在開啟的視窗中,根據原始金鑰資料庫檔案的型別,選擇相應的“ Key database type ”,再通過“ Browse ”來定位檔案。

    圖 2. 定位金鑰資料庫檔案
    定位金鑰資料庫檔案

  3. 點選“ OK ”後,將彈出視窗提示我們輸入金鑰資料庫檔案密碼。請諮詢您的 LDAP 管理員獲得該密碼並輸入。

    圖 3. 輸入密碼
    輸入密碼

  4. 如果輸入的密碼正確,iKeyman 將開啟該金鑰資料庫檔案,並列出檔案中所儲存的證照的相關資訊。下圖所示即列出了 key.kdb 檔案中儲存的“個人證照”,該證照用於 Tivoli Directory Server 的 SSL 連線。

    圖 4. “個人證照”內容
    “個人證照”內容

    您也可以通過下拉選單來檢視此金鑰資料庫檔案中儲存的其他證照內容:



    圖 5. 選擇其他證照型別
    選擇其他證照型別

    比如當我們選擇“ Signer Certificates ”,將列出所有“簽署人證照”:



    圖 6. “簽署人證照”內容
    “簽署人證照”內容

至此,我們瞭解瞭如何通過 iKeyman 開啟 LDAP 伺服器的金鑰資料庫檔案,接下來我們進一步學習如何轉換檔案格式。

轉換金鑰資料庫檔案型別

  1. 繼上面開啟金鑰資料庫檔案之後,點選“ Key Database File ”下拉選單中的“ Save AS …”按鈕,該按鈕的功能是將當前金鑰資料庫檔案另存為其他格式。

    圖 7. 將金鑰資料庫檔案另存為其他格式
    將金鑰資料庫檔案另存為其他格式

  2. 在彈出的視窗中,根據實際需要,選擇要轉換的檔案型別,以及儲存名稱、路徑。

    圖 8. 選擇檔案型別
    選擇檔案型別

    由於 WMM 需要 JKS 格式的檔案,我們將檔案型別更改為 JKS,您可以根據實際需要更改預設提供的檔名和路徑。

  3. 點選“ OK ”後,將彈出新的視窗,提示我們為新型別的金鑰資料庫檔案建立密碼。您可以自由選擇適合自己的密碼,iKeyman 將自動判斷您當前輸入的密碼的強度,供您參考。

    圖 9. 指定密碼
    指定密碼

  4. 點選“ OK ”後,新的金鑰資料庫檔案建立完成,並被自動載入到 iKeyman 中。

    圖 10. 新的金鑰資料庫檔案
    新的金鑰資料庫檔案

    注意到由於檔案型別的不同,金鑰資料庫檔案中儲存的“簽署者證照”也有所差別。但最關鍵的是,用於 SSL 連線的“個人證照”被完整的繼承過來,這保證了新型別的檔案同樣能用於 LDAP 伺服器的 SSL 連線。



    圖 11. 新的金鑰資料庫檔案中“個人證照”內容
    新的金鑰資料庫檔案中“個人證照”內容

至此,我們完成了用於 SSL 連線的金鑰資料庫檔案格式的轉換,在接下來的內容中,我們將學習如何更改 WebSphere Member Manager 的配置檔案,來使 WebSphere Portal 啟用 SSL 連線到 LDAP 伺服器。

WebSphere Portal 中 Member Manager 配置的修改

如果您的 LDAP 伺服器與 WebSphere Portal 處於不同的環境下,請首先將上面得到的 JKS 格式的金鑰資料庫檔案拷貝至 WebSphere Portal 所在的環境中。

然後,在動手修改 WebSphere Member Manger 的配置之前,請確認 WebSphere Portal 當前所使用的 WebSphere Member Manager 配置檔案的位置。一般來講,如果您是獨立環境(standalone),配置檔案一般位於 /wmm 目錄下;如果您是整合環境(cluster),配置檔案一般位於 /config/wmm 目錄下。

在找到配置檔案後,請開啟其中的 wmm.xml 檔案,編輯如下內容:

  1. ldapPort

    指定 LDAP 伺服器端用於 SSL 連線的埠號,一般為 636,請根據您的實際情況進行設定。

  2. sslEnabled

    指定是否開啟 SSL 連線,預設值為“ false ”,將其更改為“ true ”。

  3. sslLocalScope

    如果將這個引數的值設為“ false ”,或是不設定這個引數,那麼 WebSphere Member Manager 將使用 JSSE(Java Security Socket Extension,Java 安全套接字擴充套件)系統引數來設定用於 SSL 連線的金鑰檔案的位置及其密碼。

    注:JSSE 系統引數適用於整個 JVM 。為了避免與其他同樣使用 JSSE 的程式發生衝突,我們強烈推薦用下面介紹的引數在 WebSphere Member Manager 配置檔案中顯式設定金鑰資料庫檔案的路徑及其密碼。

  4. sslTrustStore

    指定用於伺服器端認證的 LDAP 伺服器金鑰資料庫檔案的絕對路徑。

  5. sslTrustPassword

    指定“sslTrustStroe”的密碼。

    注:雖然您可以直接使用明文來儲存密碼,但為了提高安全性,我們更推薦您使用 WebSphere Member Manager 提供的專用加密工具,將您的密碼加密後再進行儲存。在 WebSphere Portal 資訊中心裡有關於“在成員管理器配置中更改 LDAP 管理員密碼”的介紹:

    您可以從中瞭解到該加密工具的使用方法,唯一的不同之處在於:這裡我們需要加密、修改的是用於“ sslTrustPassword ”引數的密碼,而不是文中提到的 LDAP 管理員密碼(adminPassword)。

  6. sslKeyStore

    指定用於客戶端認證的 LDAP 伺服器金鑰資料庫檔案的絕對路徑。

  7. sslKeyStorePassword

    指定“ sslKeyStore ”的密碼;如果需要加密,請參考“ sslTrustPassword ”部分的說明。

下面是開啟了 SSL 連線的示例檔案(片段),以供參考:


清單 1. WebSphere Member Manager 配置檔案示例

				636”
 ldapTimeOut= ” 6000 ”
 ldapAuthentication= ” SIMPLE ”
 ldapType= ” 0 ”
 sslEnabled= ” true ”
 sslLocalScope= ” true ”
 sslKeyStore= ” /opt/IBM/WebSphere/PortalServer/keys/key.jks ”
 sslKeyStorePassword= ” 4eIrkiVIT78= ”
 sslTrustStore= ” /opt/IBM/WebSphere/PortalServer/keys/key.jks ”
 sslTrustStorePassword= ” 4eIrkiVIT78= ” >

至此,我們已經完成了所有的配置,請儲存修改後的 wmm.xml 檔案,並重新啟動 WebSphere Portal 伺服器以使更改生效。

在本文最後的內容中,我們將通過一個簡單的測試來驗證 WebSphere Portal 已經能夠通過 SSL 連線到 LDAP 伺服器,並進行使用者管理。

WebSphere Portal 使用者管理的測試

在重新啟動 WebSphere Portal 伺服器之後,請開啟其管理介面,如圖 12 所示,在左邊的側欄中點選“使用者和使用者組”(Users and Groups)。


圖 12. 管理使用者和使用者組(檢視大圖
管理使用者和使用者組

如圖 13 所示,隨意搜尋位於 LDAP 伺服器上的某個使用者。


圖 13. 搜尋使用者(檢視大圖
圖 13. 搜尋使用者

搜尋成功,證明 WebSphere Portal 已經能夠通過 SSL 連線到 LDAP 伺服器獲取資訊。測試搜尋結果如圖 14 所示。


圖 14. 搜尋結果(檢視大圖
圖 14. 搜尋結果

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-608411/,如需轉載,請註明出處,否則將追究法律責任。

相關文章