Установка SSL сертификатов в Java
При попытке установить https соединение с помощью клиента, написанного на Java видим вот такое примерно сообщение (если сертификат сервера самоподписанный):
Воспользуемся небольшим кодом на Java, который значительно облегчит установку сертификата. Скачиваем InstallCert.java отсюда.
Т.к. я использую красноглазный-gentoo-подобный дистрибутив, управление различными версиями JRE и JDK в нем осуществляется приятной утилитой java-config.
Просмотрим, что у нас установлено:
Нам понадобится именно JDK, т.к. .java файл необходимо откомпилировать в .class. Устанавливаем по-умолчанию для пользователя JDK. В этом мощь данной утилиты — версий JRE и JDK может быть установлено сколько угодно, каждому пользователю можно просто назначить используемую версию JRE или JDK:
Проверяем, доступна ли теперь утилита для компиляции javac:
Компилируем .java файл в .class:
Запускаем, указав в качестве аргумента имя хоста и порт или ip адрес:
Вуаля.
unable to find valid certification path to requested target
Воспользуемся небольшим кодом на Java, который значительно облегчит установку сертификата. Скачиваем InstallCert.java отсюда.
Т.к. я использую красноглазный-gentoo-подобный дистрибутив, управление различными версиями JRE и JDK в нем осуществляется приятной утилитой java-config.
Просмотрим, что у нас установлено:
java-config --list-available-vms
The following VMs are available for generation-2:
1) Sun JDK 1.6.0.24 [sun-jdk-1.6]
*) Sun JRE 1.6.0.24 [sun-jre-bin-1.6]
Нам понадобится именно JDK, т.к. .java файл необходимо откомпилировать в .class. Устанавливаем по-умолчанию для пользователя JDK. В этом мощь данной утилиты — версий JRE и JDK может быть установлено сколько угодно, каждому пользователю можно просто назначить используемую версию JRE или JDK:
java-config --set-user-vm=sun-jdk-1.6
Now using sun-jdk-1.6 as your user JVM
Проверяем, доступна ли теперь утилита для компиляции javac:
java-config --javac
/opt/sun-jdk-1.6.0.24/bin/javac
Компилируем .java файл в .class:
javac ./InstallCert.java
Запускаем, указав в качестве аргумента имя хоста и порт или ip адрес:
java InstallCert xx.xx.xx.xx:443
...
Added certificate to keystore /opt/sun-jre-bin-1.6.0.24/lib/security/cacerts using alias 'xx.xx.xx.xx-1'
Вуаля.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.