我有一个Java CXF客户端,它使用相互身份验证连接到SSL安全的Web服务。 我有我的密钥库和我的信任库在客户端正确配置,它工作正常。具有多个证书的CXF SSL安全Web服务客户端
我在这里担心的是,我的密钥库只包含一个客户端证书,而在CXF配置中,无法对此SSL通信说“您可以使用此证书”。
由于我只有一个证书,因此选择CXF丢弃SSL握手的好方法并不困难。 但是,这个客户端将被部署在一个环境中,它将与多个可能的客户端拥有自己的证书一起使用,并且每个客户端都将由相同的证书颁发机构签名。当服务器要求提供由特定授权机构签署的客户端证书时,将无法区分一个证书与另一个证书。
如何告诉CXF(或Java)在此上下文中使用正确的证书?
我是否需要构建与客户端证书一样多的SSL上下文? (即拥有N个密钥库,每个密钥库只包含一个证书)。 或者有没有办法(在CXF conf或Java中)说“在这种情况下使用此证书”?
在此先感谢您的帮助。
感谢您的回应。 我同意你的看法,我必须在认证和授权之间做出区别。身份验证由SSL提供,授权将由SOAP中的WS-Security和SAML令牌提供。 – reef 2010-07-29 09:20:08