2017-05-04 2 views
0

Ich versuche, Client-Zertifikat-Authentifizierung via Smartcard zum Laufen zu bringen mit Wildfly 8. Es wurde zuvor mit JBoss AS arbeiten, aber Wildfly ging und änderten sich die Dinge. Ich habe die richtigen Zertifikate in meinen Keystore importiert.Client-PKI-Zertifikatsauthentifizierung mit Wildfly 8 sendet 404

Das ist mein standalone.xml:

 <security-realm name="SSLRealm"> 
      <server-identities> 
       <ssl protocol="TLSv1"> 
        <keystore path="server.keystore" keystore-password="password" alias="server"/> 
       </ssl> 
      </server-identities> 
      <authentication> 
       <truststore path="server.keystore" keystore-password="server.keystore"/> 
      </authentication> 
     </security-realm> 

....

<subsystem xmlns="urn:jboss:domain:undertow:1.2"> 
     <buffer-cache name="default"/> 
     <server name="default-server"> 
      <http-listener name="default" socket-binding="http"/> 
      <https-listener name="https" socket-binding="https" security-realm="SSLRealm" verify-client="REQUESTED"/> 
      <host name="default-host" alias="localhost"> 
       <filter-ref name="gzipFilter" predicate="not min-content-size[500]"/> 
      </host> 
     </server> 
     <servlet-container name="default"> 
      <jsp-config development="true" target-vm="1.8" x-powered-by="false"/> 
      <websockets/> 
     </servlet-container> 
     <filters> 
      <gzip name="gzipFilter"/> 
     </filters> 
    </subsystem> 

...

  <security-domain name="cert-login" cache-type="default"> 
       <jsse keystore-password="password" keystore-url="server.keystore" truststore-password="password" truststore-url="server.keystore" client-auth="true"/> 
       <authentication> 
        <login-module code="Certificate" flag="required"> 
         <module-option name="securityDomain" value="cert-login"/> 
         <module-option name="password-stacking" value="useFirstPass"/> 
        </login-module> 
        <login-module code="Identity" flag="required"> 
         <module-option name="roles" value="certuser"/> 
        </login-module> 
       </authentication> 
      </security-domain> 

...

 <logger category="org.wildfly.extension.undertow"> 
      <level name="DEBUG"/> 
     </logger> 
     <logger category="org.jboss.as.security"> 
      <level name="TRACE"/> 
     </logger> 
     <logger category="org.jboss.security"> 
      <level name="TRACE"/> 
     </logger> 

Jboss-web.xml:

<jboss-web> 
    <context-root>/</context-root> 
    <security-domain>cert-login</security-domain> 
</jboss-web> 

... und meine web.xml

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>Cert Login Page</web-resource-name> 
    <url-pattern>/cert/detect</url-pattern> 
    </web-resource-collection> 

    <auth-constraint> 
    <role-name>certuser</role-name> 
    </auth-constraint> 
</security-constraint> 

<login-config> 
    <auth-method>CLIENT-CERT</auth-method> 
</login-config> 

<security-role> 
    <role-name>certuser</role-name> 
</security-role> 

Was passiert, wenn ich/cert/detect gehen I ist ein 404. Nicht Fehlermeldungen erhalten oder etwas. Ich habe meine Räder tagelang gedreht, um herauszufinden, was das Problem ist.

Antwort

1

Das Problem endete nichts mit der Wildfly Konfiguration zu tun sind, ich brauche nur ein zusätzliches Zertifikat an den server.keystore hinzuzufügen. Der 404 war ein Ablenkungsmanöver.