2012-06-14 4 views
0

У меня есть приложение JRuby on Rails, развернутое в Tomcat, которое настроено для двусторонней/мутационной аутентификации с использованием SSL. Когда запрос приходит в мое приложение Rails, он затем отправляет запрос на внешний сервер. Для этого внешнего сервера требуется сертификат лица, отправляющего запрос. Мне нужно захватить сертификат из моего приложения Rails и перенаправить его при отправке запроса на внешний сервер (другое приложение Rails).Как программно перенаправлять сертификат X509 пользователям на другой сервер?

Я могу получить объект X509Certificate (java) в контроллере в приложении Rails, где начинается исходное. Затем я могу получить строку DER (X509CertificateImpl # getEncoded, что-то в этом роде), и при необходимости я могу построить строку PEM ... но как я могу переслать это при обращении к внешнему Rails-приложению?

Я пробовал приклеивать версию PEM с кодировкой urlsafe base64 в заголовок, но когда я вытаскиваю этот заголовок на внешнем рельсе, оно появляется только в виде куска (60 символов, в отличие от 2095, которые были отправлены) ,

Любые идеи/мысли о том, как это сделать?

ответ

0

Если внешний сервер требует аутентификации на стороне клиента, а не только сертификата, вам не повезло. Причина в том, что аутентификация SSL выполняется с использованием закрытых ключей, а не самих сертификатов. И закрытые ключи не передаются на сервер. Так что захват сертификата ничего не даст.

Смежные вопросы