WildFly 10中具有多个安全域的相互SSL身份验证

时间:2019-02-07 10:34:36

标签: java security authentication ssl wildfly

我的想法是在一台WildFly服务器上设置各种应用程序,每个应用程序都有其自己的安全域进行身份验证。

每个安全域都应具有自己的配置以及相应的密钥库和信任库。这样一来,每个应用程序都可以拥有自己的可信客户端集,并为客户端提供不同的密钥以供验证。

但是我不确定这是否可行。考虑到button = (CButton *)CWnd::FromHandle(::GetDlgItem(hdlg, IDC_CHECK1)); 子系统中只有一个def crossesaxes(x1,y1,x2,y2): q1 = (1 if x1 < 0 else 0) | (2 if y1 < 0 else 0) q2 = (1 if x2 < 0 else 0) | (2 if y2 < 0 else 0) q = q1 ^ q2 answers = ['no crossing', 'x', 'y', 'crosses both'] return answers[q] ,是指单个intersects。无论应用程序的安全域中配置了什么,此安全领域似乎都提供了服务器身份。

我要进行基于角色的安全性,但是密钥和信任库似乎没有在https-listener上正确配置,仅在undertow级别上正确配置了。基于角色的授权有效,但是配置安全域的指向安全域的链接似乎很奇怪。

是否可以为各种安全域设置具有各种密钥库和信任库的相互SSL身份验证?


我正在进行以下设置:

我有一个security-realm指向security-domain

security-realm

ApplicationRealm设置了ssl身份,并要求在安全域内使用身份验证。

https-listener

然后将安全域配置为使用ApplicationRealm,并添加一个默认角色以允许访问不需要特定角色的端点。

<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>

我希望<security-realm name="ApplicationRealm"> <server-identities> <ssl> <keystore path="ssl/server.jks" relative-to="jboss.server.config.dir" keystore-password="secret" alias="server" key-password="secret"/> </ssl> </server-identities> <authentication> <truststore path="/cert-auth/server/ServerTruststore.jks" relative-to="jboss.server.config.dir" keystore-password="secret"/> <local default-user="$local" allowed-users="*" skip-group-loading="true"/> <properties path="application-users.properties" relative-to="jboss.server.config.dir"/> </authentication> </security-realm> 配置的密钥和信任库在安全域上生效。但这似乎并没有做什么用,而且全部都发生在安全领域?

最后,应用程序配置了一个简单的CertificateRoles<security-domain name="client_cert_domain" cache-type="default"> <authentication> <login-module code="CertificateRoles" flag="required"> <module-option name="password-stacking" value="useFirstPass"/> <module-option name="verifier" value="org.jboss.security.auth.certs.AnyCertVerifier"/> <module-option name="securityDomain" value="client_cert_domain"/> <module-option name="rolesProperties" value="file:${jboss.server.config.dir}/application-roles.properties"/> </login-module> <login-module code="Identity" flag="required"> <module-option name="password-stacking" value="useFirstPass"/> <module-option name="roles" value="default"/> </login-module> </authentication> <jsse keystore-password="secret" keystore-url="file:${jboss.server.config.dir}/cert-auth/server/ServerKeystore.jks" truststore-password="secret" truststore-url="file:${jboss.server.config.dir}/cert-auth/server/ServerTruststore.jks" client-auth="true"/> </security-domain>

jboss-web.xml

jsse

web.xml

jboss-web.xml

0 个答案:

没有答案