0

SSLを使用した双方向/相互認証用にセットアップされたTomcatにデプロイされたJRuby on Railsアプリケーションがあります。Rails アプリケーションにリクエストが届くと、外部サーバーにリクエストを送信します。その外部サーバーには、要求元の人物の証明書が必要です。Rails アプリから証明書を取得し、外部サーバー (別の Rails アプリ) にリクエストを送信するときにそれを転送する必要があります。

Railsアプリのイニシャルが入るコントローラーでX509Certificate(Java)オブジェクトを取得できます。次に、DER 文字列 (X509CertificateImpl#getEncoded など) を取得し、必要に応じて PEM 文字列を作成できますが、外部 Rails アプリにリクエストを送信するときに、それを転送するにはどうすればよいでしょうか?

urlsafe base64 でエンコードされた PEM バージョンをヘッダーに貼り付けようとしましたが、外部 Rails アプリでそのヘッダーを引き出すと、その一部しか取得できないように見えます (送信された 2095 文字ではなく 60 文字)。

これを行う方法についてのアイデア/考えはありますか?

4

1 に答える 1

0

外部サーバーが証明書だけでなく、クライアント側の SSL 認証を必要とする場合は、うまくいきません。その理由は、証明書自体ではなく、秘密鍵を使用して SSL 認証が実行されるためです。また、秘密鍵はサーバーに転送されません。したがって、証明書を取得しても何も得られません。

于 2012-06-14T11:35:59.663 に答える