2017-05-04 63 views
0

我想獲得通過智能卡客戶端證書身份驗證與Wildfly 8.這是以前與JBoss AS工作,但Wildfly走了,改變的東西的工作。我已將適當的證書導入我的密鑰庫。客戶端PKI證書認證發送404

這是我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> 

... 和我的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> 

,當我去到/證書/檢測發生的是我得到了404不是錯誤或任何東西。我一直在旋轉我的車輪數天,試圖找出問題所在。

回答

1

這個問題最終與Wildfly配置無關,我只需要向server.keystore添加一個額外的證書。 404是一隻紅鯡魚。