将用户身份验证详细信息从一个服务器传递到下一个服

时间:2014-11-07 20:43:36

标签: java ssl jboss certificate pki

我已经让用户在JBoss服务器中使用客户端证书进行身份验证。一切都很好。

如果我然后使用Apache HTTPClient调用另一台服务器,它会发送JBoss配置的用户的客户端证书。我希望能够通过客户端证书,以便第二个服务器也验证主叫用户。

这是否可行(我假设不是因为服务器没有获得客户端证书的私钥),如果是,那该怎么办?

2 个答案:

答案 0 :(得分:0)

我非常相信RFC5246 [1],这是不可能的。

如果客户已发送    具有签名能力的证书,经过数字签名    发送CertificateVerify消息以明确验证拥有    证书中的私钥。

毕竟,如果你公开私钥的重点是什么?我只需要连接的服务器就可以为我的系统用户增加权限。

1 http://tools.ietf.org/html/rfc5246

答案 1 :(得分:0)

不可能。证书只是用户所在的 public 标识符。实际身份验证是使用客户端的私钥完成的。因此,您需要同时获取证书和私钥才能完成此操作,这将首先消除证书使用的所有安全性。证书被认为是公开的,并且可以在需要的地方分发以允许身份验证,数字签名验证,加密等。根据定义,私钥必须保持私密,以确保凭证的安全性。

要实现传播身份信息的目标,您还可以使用其他工具。如果您的JBoss服务器都属于同一安全域,则可以使用JavaEE Security传播身份信息。通过一些有创意的编码,您也可以使用Kerberos来传播身份,尽管这是一项非常重要的工作。

相关问题