您可以利用 SSL 用戶端鑑別,在 Liberty 設定檔上配置您的 Web 應用程式。
關於這項作業
如果伺服器端要求用戶端傳送憑證,就會進行用戶端憑證鑑別。WebSphere® 伺服器可以在 SSL 配置上,配置用戶端憑證鑑別。
如果要執行這個動作,請連同告訴伺服器鑑別所用金鑰儲存庫資訊的程式碼,新增 ssl-1.0 Liberty 特性到 server.xml 檔中。
如需支援 SSL 哪些層面的詳細資料,請參閱 Liberty 特性。
程序
- 確定您的 Web 應用程式部署描述子將用戶端憑證鑑別指定為要用的鑑別方法。
請檢查部署描述子是否包含下列元素:
<auth-method>CLIENT-CERT</auth-method>
註: 您可以利用 Rational® Application Developer 之類的工具來建立部署描述子。
- 選擇性的: 使用指令行產生 SSL 憑證。請參閱 securityUtility 指令。
- 新增下列各行到 server.xml 檔中,以配置您的伺服器來啟用 SSL 用戶端鑑別:
<featureManager>
<feature>ssl-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",伺服器會要求用戶端傳送憑證。不過,如果用戶端沒有憑證,或伺服器不信任其憑證,信號交換仍有可能成功。
- 如果您沒有指定 clientAuthentication 或 clientAuthenticationSupported,或您指定了 clientAuthentication="false" 或 clientAuthenticationSupported="false",在訊息交換期間,伺服器不會要求傳送用戶端憑證。
- 新增用戶端憑證到您的瀏覽器中。請參閱瀏覽器的文件來新增用戶端憑證。
- 確定伺服器信任所用的任何用戶端憑證。
- 確定用戶端鑑別所用的任何用戶端憑證都對映至您的登錄中的使用者身分。
- 如果是基本登錄,使用者身分是憑證識別名稱 (DN) 中的通用名稱 (CN)。
- 如果是「輕量型目錄存取通訊協定 (LDAP)」登錄,用戶端憑證中的 DN 必須在 LDAP 登錄中。
- 如果要使用基本鑑別,只有使用者 ID 和密碼,若用戶端憑證鑑別不成功,請新增下面這一行到 server.xml 檔中。
<webAppSecurity allowFailOverToBasicAuth="true" />
註: 如果您指定 allowFailOverToBasicAuth="false" 或沒有指定 allowFailOvertoBasicAuth,且用戶端憑證鑑別不成功,要求會產生一則 403 鑑別錯誤訊息,用戶端不會收到基本鑑別的提示。