我有一个在tomcat应用服务器上运行的Web应用程序(gwt)。此Web应用程序使用多个Web服务(登录,应用程序数据传输,查询等)。 tomcat上的Web服务客户端实现为apache axis2 Web服务客户端。
对于用户登录,我在Web应用程序中使用用户名和密码提供表单。该数据通过Web服务传输以验证用户。
计划将洞认证机制更改为基于客户端认证的认证。身份验证仍应在Web服务提供商端完成。 所以我的系统有三个相关的组件:Web客户端,tomcat应用程序服务器和Web服务提供者。
该应用程序的每个用户都有自己的私人客户端证书(PKI Token,X.509-Auth-Cert)。当用户连接到Web应用程序时,会请求其证书。
如何转发客户端证书以用于Web服务? (tomcat不负责身份验证)。
1。)在发生身份验证错误之前,有没有办法拦截请求并提取客户端证书? 我发现了一些关于Servlet过滤器的信息听起来真的很好,但是我不知道在它们被证明对tomcats密钥库进行验证之前在哪里实施它来拦截证书。
2。)如果可能,我如何在客户端证书之后传递给Web服务?
感谢您阅读
答案 0 :(得分:1)
不,不是真的。身份验证中使用的真实部分是与证书关联的私钥,而不仅仅是证书本身。而且,通常,您无法从Web客户端检索它。因此,您无法将从Web客户端收到的凭据传递给Web服务客户端。证书本身随时可用,但如果没有相应的私钥,则无法进行身份验证。