1

我有一个在 tomcat 应用程序服务器上运行的 Web 应用程序 (gwt)。此 Web 应用程序使用多个 Web 服务(登录、应用程序数据传输、查询等)。tomcat 上的 web 服务客户端实现为 apache axis2 web 服务客户端。

对于用户登录,我在 Web 应用程序中提供了一个带有用户名和密码的表单。该数据通过网络服务传输以验证用户身份。

计划将洞认证机制更改为基于客户端证书的认证。身份验证仍应在 Web 服务提供商端完成。所以我的系统有三个相关的组件:web客户端、tomcat应用服务器和web服务提供者。

应用程序的每个用户都有自己的私有客户端证书(PKI 令牌,X.509-Auth-Cert)。当用户连接到 Web 应用程序时,会请求他的证书。

如何转发客户端证书以在 Web 服务中使用?(tomcat 不负责认证)。

1.)有没有办法在发生身份验证错误之前拦截请求并提取客户端证书?我发现了一些关于 Servlet 过滤器的信息听起来真的很好,但我不确定在哪里实现它来拦截证书,然后再根据 tomcats 密钥库进行验证。

2.)如果可能的话,我怎样才能将客户端证书传递给Web服务?

感谢您阅读

4

1 回答 1

2

不,不是。身份验证中使用的真正部分是与证书关联的私钥,而不仅仅是证书本身。而且,通常,您无法从 Web 客户端检索它。因此,您不能真正将您从 Web 客户端收到的凭据传递到 Web 服务客户端。证书本身很容易获得,但在没有相应私钥的情况下无法进行身份验证。

于 2013-02-11T18:29:10.103 回答