【问题标题】:how to configure mutual certificate authentication如何配置相互证书认证
【发布时间】:2015-04-08 12:33:00
【问题描述】:

我正在尝试使用 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-listerner

<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 错误页面

任何帮助将不胜感激

【问题讨论】:

    标签: wildfly java-ee-7 client-certificates


    【解决方案1】:

    我终于让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>
    

    【讨论】:

    • 你能把文件 user_roles.properties 和 user_roles.properties 贴出来吗?我想也许它可以在类似的情况下帮助我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多