<div dir="ltr">Stuart,<div>Thanks for addressing the problem posed. In the solution you presented, you noted that one had to  &quot;... <span style="font-size:12.8000001907349px">Add a security domain  ... </span><span style="font-size:12.8000001907349px">although it will depend on how you store your user information ...</span>&quot;. </div><div><br></div><div>The crux of the matter is that the security information for the user is not on the platform. In particular, I am seeking to obtain the certificate from the request attribute <span style="font-size:12.8000001907349px">&quot;javax.servlet.request.</span><span style="font-size:12.8000001907349px">X509Certificate&quot; so that in an application servlet or in a ejb referenced by a JSF page, the certificate would be authenticated and authorized.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">In particular: </span></div><div><br></div><div>1. Does the configuration that you present assume that the client&#39;s certificate is in the trust store (<span style="font-size:12.8000001907349px">undertow.keystore</span>)?</div><div><br></div><div>2. Does the platform (WildFly 8.2.0) when configured as recommended use &quot;<span style="color:rgb(61,61,61);font-family:Cabin;font-size:13px;line-height:9.75px">org.jboss.security.auth.certs.AnyCertVerifier</span>&quot; so that it does not try to validate, but relies on the application to obtain the certificate from the  request attribute <span style="font-size:12.8000001907349px">&quot;javax.servlet.request.</span><span style="font-size:12.8000001907349px">X509Certificate&quot; to perform authentication and authorization at the application level.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div>Thanks in advance for your help.</div><div><br></div><div>     John</div><div><span style="font-size:12.8000001907349px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 5, 2015 at 10:52 PM, Stuart Douglas <span dir="ltr">&lt;<a href="mailto:sdouglas@redhat.com" target="_blank">sdouglas@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The basic steps are:<br>
<br>
In standalone.xml<br>
<br>
Add a HTTPS listener to the undertow subsystem:<br>
<br>
&lt;https-listener name=&quot;https&quot; socket-binding=&quot;https&quot; security-realm=&quot;myrealm&quot;/&gt;<br>
<br>
Add a security realm:<br>
<br>
<br>
            &lt;security-realm name=&quot;myrealm&quot;&gt;<br>
                &lt;server-identities&gt;<br>
                    &lt;ssl&gt;<br>
                        &lt;keystore path=&quot;/keystores/clientcert.jks&quot; relative-to=&quot;jboss.server.config.dir&quot; keystore-password=&quot;mypassword&quot; /&gt;<br>
                   &lt;/ssl&gt;<br>
                &lt;/server-identities&gt;<br>
                &lt;authentication&gt;<br>
                    &lt;truststore path=&quot;/keystores/undertow.keystore&quot; relative-to=&quot;jboss.server.config.dir&quot; keystore-password=&quot;mypassword&quot; /&gt;<br>
                &lt;/authentication&gt;<br>
            &lt;/security-realm&gt;<br>
<br>
Add a security domains to the security subsystem, should be something like this (although it will depend on how you store your user information):<br>
<br>
<br>
                &lt;security-domain name=&quot;ssl&quot;&gt;<br>
                    &lt;jsse truststore-url=&quot;../standalone/configuration/keystores/undertow.keystore&quot;<br>
                          truststore-password=&quot;mypassword&quot;<br>
                          keystore-url=&quot;../standalone/configuration/keystores/clientcert.jks&quot;<br>
                          keystore-password=&quot;mypassword&quot;/&gt;<br>
                &lt;/security-domain&gt;<br>
                &lt;security-domain name=&quot;client-cert&quot;&gt;<br>
                    &lt;authentication&gt;<br>
                        &lt;login-module code=&quot;CertificateRoles&quot; flag=&quot;required&quot;&gt;<br>
                            &lt;module-option name=&quot;password-stacking&quot; value=&quot;userFirstPass&quot;/&gt;<br>
                            &lt;module-option name=&quot;securityDomain&quot; value=&quot;ssl&quot;/&gt;<br>
                            &lt;module-option name=&quot;rolesProperties&quot; value=&quot;../standalone/configuration/security/roles.properties&quot;/&gt;<br>
                        &lt;/login-module&gt;<br>
                     &lt;/authentication&gt;<br>
                    &lt;authorization&gt;<br>
                        &lt;policy-module code=&quot;Delegating&quot; flag=&quot;required&quot;/&gt;<br>
                    &lt;/authorization&gt;<br>
                    &lt;mapping&gt;<br>
                        &lt;mapping-module code=&quot;DeploymentRoles&quot; type=&quot;role&quot;/&gt;<br>
                    &lt;/mapping&gt;<br>
               &lt;/security-domain&gt;<br>
<br>
- Set the authentication mechanism as CLIENT_CERT in web.xml<br>
- In jboss-web.xml specify your security domain:<br>
<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br>
&lt;jboss-web&gt;<br>
  &lt;security-domain&gt;client-cert&lt;/security-domain&gt;<br>
&lt;/jboss-web&gt;<br>
<br>
<br>
We are taking steps to simplify this configuration, and unify (and hopefully simplify) all our SSL config, although I am not sure when this will be done.<br>
<br>
Stuart<br>
<br>
<br>
----- Original Message -----<br>
&gt; From: &quot;John Robinson&quot; &lt;<a href="mailto:jsrobin@gmail.com">jsrobin@gmail.com</a>&gt;<br>
&gt; To: &quot;undertow-dev&quot; &lt;<a href="mailto:undertow-dev@lists.jboss.org">undertow-dev@lists.jboss.org</a>&gt;<br>
&gt; Sent: Thursday, 5 March, 2015 4:32:43 AM<br>
&gt; Subject: [undertow-dev] SSL client authorization -- how ?<br>
&gt;<br>
&gt; What are the detailed configuration instructions to configure<br>
&gt; &quot;standalone.xml&quot;, web.xml, and jboss-web.xml to set up SSL with client<br>
&gt; authorization?<br>
&gt;<br>
&gt; Could someone direct me to the appropriate place to find detailed<br>
&gt; configuration information on how to have a WildFly 8.2 server evoke from a<br>
&gt; client, a certificate under SSL.<br>
&gt;<br>
&gt; The cerificate, I expect, would be sent via the<br>
&gt; &quot;javax.servlet.request.X509Certificate&quot; request attribute.<br>
&gt;<br>
&gt; If this is an inappropriate forum for this question, please feel free to<br>
&gt; direct me to the correct forum.<br>
&gt;<br>
&gt; Thanks in advance for your help.<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; undertow-dev mailing list<br>
&gt; <a href="mailto:undertow-dev@lists.jboss.org">undertow-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/undertow-dev</a><br>
</blockquote></div><br></div>