我正在尝试通过使用Wildfly 8的智能卡进行客户端证书身份验证。它之前曾与JBoss AS合作,但Wildfly改变了一切。我已将适当的证书导入我的密钥库。
这是我的standalone.xml:
EditText
...
Json
...
<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>
的JBoss-web.xml中:
<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>
... 和我的web.xml
<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>
当我去/ cert / detect时会发生什么,我得到404.没有错误或任何东西。我一直在旋转我的车轮几天试图找出问题所在。
答案 0 :(得分:1)
问题最终与Wildfly配置无关,我只需要向server.keystore添加一个额外的证书。 404是红鲱鱼。