jrun ssl peer не аутентифицирован

Прежде чем я начну, я должен сказать, что я уже разместил этот вопрос на ранчо кода и еще не получил ответа. Я позабочусь, чтобы и этот сайт, и Code Ranch получили ответ, если я найду один...

Я унаследовал старое приложение, написанное на EJB, которое работает на JRun4. JRun4 обслуживает контент - то есть, у нас нет Apache, IIS или чего-то подобного. Приложение используется только для внутреннего использования и вообще не видно снаружи брандмауэра. Веб-контент содержит идентифицируемую информацию, поэтому мы пытаемся заставить приложение использовать SSL.

Для моей организации мы используем службы сертификатов Active Directory только для внутренних приложений, и у нас есть внутренний сертификат подписи, который распространяется на все рабочие станции, который также используется для подписания всех внутренних запросов на подпись. Очевидно, что этот сертификат подписи не является частью цепочки доверия Java. У меня нет доступа к ключу подписи, поэтому я эмулирую как можно лучше, используя OpenSSL. Идея состоит в том, чтобы создать право подписи и заставить его работать с JRun4. Поскольку у меня есть полный контроль над цепочкой, я могу быстро экспериментировать, чтобы увидеть, что работает.

Я не смог пройти мимо "Peer not authenticated". Насколько я понимаю, сообщение об ошибке возникает, когда Java не может найти открытый ключ CA. Тем не менее, я добавил это в каждом месте, о котором я могу думать, и я все еще получаю ошибку.

Вот мои шаги, учитывая, что я просто пытаюсь понять, как заставить это работать, поэтому я знаю, что делать на рабочем сервере:

1) Я скомпилировал OpenSSL 1.0.1j из исходного кода, используя MinGW.

2) Я использовал конфигурацию и шаги из ssl - https://stackoverflow.com/questions/21297139/how-do-you-sign-openssl-certificate-signing-requests-with-your-certification-aut для создания CA,

3) ЦС находится на отдельном устройстве, с которого я запускаю JRun.

4) Я скопировал (но не установил) JRun на рабочую станцию ​​в C: \ JRun4.

5) Java 6 установлена ​​на C:\Programs\jdk1.6.0 на моей рабочей станции. (Примечание: я не могу заставить JRun работать с более новыми версиями Java, он жалуется на jvm.dll)

6) Я создал новое хранилище ключей в C:\JRun4\lib с паролем "changeit".

7) Я сгенерировал запрос на подпись из этого хранилища ключей.

8) Я скопировал.csr на другую рабочую станцию ​​и подписал его.

9) Я скопировал подписанный ключ и ключ CA с другой рабочей станции обратно на рабочую станцию ​​JRun.

10) Сначала я импортировал ключ CA в четыре места: C:\Programs\jdk1.6.0\lib\security\cacerts, C:\Programs\jdk1.6.0\jre\lib\security\cacerts, C:\JRun4\lib\keystore и C:\JRun4\lib \ trustStore.

11) Я импортировал подписанный ключ в C:\JRun4\lib\keystore, после чего SSL запускался без ошибок, но я получил ошибку "Peer not authenticated".

12) В отчаянии я скопировал подписанный ключ в другие три места, хотя был уверен, что это не поможет.

Что мне не хватает?

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

0 ответов

Другие вопросы по тегам