配置 Web 應用程式和伺服器的用戶端憑證鑑別

您可以在 Liberty 中使用 SSL 用戶端鑑別來配置 Web 應用程式。

開始之前

這個主題假設您已建立 SSL 憑證,例如 從指令行建立 SSL 憑證中的說明。

關於這項作業

如果伺服器端要求用戶端傳送憑證,就會進行用戶端憑證鑑別。 可以配置 WebSphere® 伺服器,以在 SSL 配置上進行用戶端憑證鑑別。 如果要這麼做,請將 transportSecurity-1.0 Liberty 特性新增至 server.xml 檔,以及告知伺服器用於鑑別的金鑰儲存庫資訊的程式碼。

如需支援 SSL 哪些層面的詳細資料,請參閱 Liberty 特性

程序

  1. 確定您的 Web 應用程式部署描述子將用戶端憑證鑑別指定為要用的鑑別方法。
    請檢查部署描述子是否包含下列元素:
    <auth-method>CLIENT-CERT</auth-method>
    附註: 您可以使用 Rational® Application Developer 之類的工具來建立部署描述子。
  2. 選用項目: 使用指令行產生 SSL 憑證。 請參閱 securityUtility 指令
  3. 將下列幾行新增至 server.xml 檔案,以配置伺服器來啟用 SSL 用戶端鑑別:
       <featureManager>
            <feature>transportSecurity-1.0</feature>
       <featureManager>
    
       <ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore"
            trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" />
       <keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="defaultPWD" />
       <keyStore id="defaultTrustStore" location="trust.jks" type="JKS" password="defaultPWD" />
    • 如果您指定 clientAuthentication="true",伺服器會要求用戶端傳送憑證。 不過,如果用戶端沒有憑證,或伺服器不信任其憑證,信號交換就不會成功。
    • 如果您指定 clientAuthenticationSupported="true",伺服器會要求用戶端傳送憑證。 不過,如果用戶端沒有憑證,或伺服器不信任其憑證,信號交換仍有可能成功。
    • 如果您沒有指定 clientAuthenticationclientAuthenticationSupported,或您指定了 clientAuthentication="false"clientAuthenticationSupported="false",在訊息交換期間,伺服器不會要求傳送用戶端憑證。
  4. 新增用戶端憑證到您的瀏覽器中。 請參閱瀏覽器的說明文件來新增用戶端憑證。
  5. 確定伺服器信任所用的任何用戶端憑證。
  6. 確定用戶端鑑別所用的任何用戶端憑證都對映至您的登錄中的使用者身分。
    • 如果是基本登錄,使用者身分是憑證識別名稱 (DN) 中的通用名稱 (CN)。
    • 如果是「輕量型目錄存取通訊協定 (LDAP)」登錄,用戶端憑證中的 DN 必須在 LDAP 登錄中。
  7. 若要僅使用基本鑑別、使用者 ID 及密碼,如果用戶端憑證鑑別未成功,請將下列行新增至 server.xml 檔案。
    <webAppSecurity allowFailOverToBasicAuth="true" />
    附註: 如果您指定 allowFailOverToBasicAuth="false" 或不指定 allowFailOvertoBasicAuth,且用戶端憑證鑑別未成功,則要求會產生403 Authentication error訊息,且不會提示用戶端進行基本鑑別。