gpt4 book ai didi

wildfly - 如何配置相互证书身份验证

转载 作者:行者123 更新时间:2023-12-02 17:33:06 28 4
gpt4 key购买 nike

我正在尝试使用 wildfly 8.2 完成客户端证书身份验证,我已将日志记录级别更改为 ALL 以使我能够看到来自 org.jboss.security 的错误

(注意:使用的密码用于演示)

下面是我在 wildfly 8.2standalone.xml 中的配置

<security-realm name="SSLRealm">
<server-identities>
<ssl protocol="TLSv1">
<keystore path="localhost.jks" relative-to="jboss.server.config.dir" keystore-password="localhost" alias="localhost"/>
</ssl>
</server-identities>
<authentication>
<truststore path="cacerts.jks" relative-to="jboss.server.config.dir" keystore-password="localhost"/>
</authentication>
</security-realm>

我的安全域

<security-domain name="client-cert-policy" cache-type="default">
<authentication>
<login-module code="Certificate" flag="required">
<module-option name="securityDomain" value="client-cert-policy"/>
</login-module>
</authentication>
<jsse keystore-password="localhost" keystore-url="file:/${jboss.server.config.dir}/localhost.jks" truststore-password="localhost" truststore-url="file:/${jboss.server.config.dir}/cacerts.jks" client-auth="true"/>
</security-domain>

我的 https 监听器

<https-listener name="default-https" socket-binding="https" security-realm="SSLRealm" verify-client="REQUESTED"/>

在我的网络应用程序 web.xml 中

<security-constraint>
<display-name>allpages</display-name>
<web-resource-collection>
<web-resource-name>all-res</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
</auth-constraint>
<user-data-constraint>
<description/>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>client-cert-policy</realm-name>
</login-config>

在 jboss.xml 中

<context-root>/haven</context-root>
<security-domain>client-cert-policy</security-domain>

尽管如此,我的 Web 应用程序还是返回了 403 错误页面

任何帮助将不胜感激

最佳答案

最后我让 client_auth 工作,进行了以下修改

在standalone.xml安全域中从Certificate更改为CertificateRoles,添加角色属性文件

<security-domain name="client-cert-policy" cache-type="default">
<authentication>
<login-module code="CertificateRoles" flag="required">
<module-option name="securityDomain" value="client-cert-policy"/>
<module-option name="rolesProperties" value="file:${jboss.server.config.dir}/user_roles.properties"/>
<module-option name="defaultRolesProperties" value="file:${jboss.server.config.dir}/default_roles.properties"/>
</login-module>
</authentication>
<jsse keystore-password="localhost" keystore-url="file:/${jboss.server.config.dir}/localhost.jks" truststore-password="localhost" truststore-url="file:/${jboss.server.config.dir}/cacerts.jks" client-auth="true"/>
</security-domain>

修改 web.xml 以添加角色

<security-constraint>
<display-name>allpages</display-name>
<web-resource-collection>
<web-resource-name>all-res</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>sys_view</role-name>
</auth-constraint>
<user-data-constraint>
<description/>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>client-cert-policy</realm-name>
</login-config>
<security-role>
<description/>
<role-name>sys_view</role-name>
</security-role>

关于wildfly - 如何配置相互证书身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29514737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com