我正在尝试通过以下步骤配置我的自由服务器以进行客户端证书身份验证: http://www.ibm.com/support/knowledgecenter/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/twlp_sec_clientcert.html
我的自由配置:
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>webProfile-7.0</feature>
<feature>restConnector-1.0</feature>
<feature>localConnector-1.0</feature>
<feature>monitor-1.0</feature>
<feature>jsp-2.3</feature>
<feature>adminCenter-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint id="defaultHttpEndpoint"
httpPort="9081"
httpsPort="9444" />
<application id="Sample" name="Sample" type="war" location="Sample.war"/>
<keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="{xor}EzY9Oi0rJg==" />
<keyStore id="defaultTrustStore" location="truststore.jks" type="JKS" password="{xor}EzY9Oi0rJg==" />
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true"/>
<webAppSecurity allowFailOverToBasicAuth="true" />
<auth-method>CLIENT-CERT</auth-method>
<basicRegistry id="basic">
<user identity="CN=Admin,O=myOrg,C=country" name="Admin" password="admin" />-->
</basicRegistry>
<administrator-role>
<user>Admin</user>
</administrator-role>
</server>
从java客户端我得到: CWWKX0229E:提供的用户凭据存在问题。服务器使用代码401和消息“未授权”
进行响应我认为我的用户映射是错误的。有人能举例说明如何将客户端证书映射到自由用户吗?
答案 0 :(得分:0)
是否打算使用证书而不是用户/密码登录Web应用程序?您需要在web.xml中定义CLIENT-CERT。您必须在访问应用程序的浏览器上安装证书。此外,Liberty服务器需要在信任库中拥有签署者证书。如果证书DN名称与注册表用户完全匹配,您还可以定义证书过滤器。
可以将以下命令添加到server.xml,以便在客户端证书身份验证失败时可以使用基本身份验证。
您可能还想确认您的应用程序是否可以使用基本身份验证。