0

我有一个部署到 Tomcat 的 JRuby on Rails 应用程序,该应用程序设置为使用 SSL 进行双向/相互身份验证。当请求进入我的 Rails 应用程序时,它会向外部服务器发出请求。该外部服务器需要发起请求的人的证书。我需要从我的 Rails 应用程序中获取证书并在向外部服务器(另一个 Rails 应用程序)发出请求时将其转发。

我可以在 Rails 应用程序的控制器中获取 X509Certificate (java) 对象。然后我可以获得 DER 字符串(X509CertificateImpl#getEncoded,类似的东西),如果需要,我可以构建一个 PEM 字符串......但是在向外部 Rails 应用程序发出请求时如何转发它?

我尝试将 urlsafe base64 编码的 PEM 版本粘贴到标头中,但是当我在外部 rails 应用程序上拉出该标头时,它似乎只得到了一部分(60 个字符,而不是发送的 2095 个字符)。

关于如何做到这一点的任何想法/想法?

4

1 回答 1

0

如果外部服务器需要客户端 SSL 身份验证而不仅仅是证书,那么您就不走运了。原因是 SSL 认证是使用私钥执行的,而不是证书本身。并且私钥不会传输到服务器。所以拿证书不会给你任何东西。

于 2012-06-14T11:35:59.663 回答