Установка 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
- 24 мая 2011, 22:52
- комментировать
Sabayon, Gentoo: сборка gtk+ 2.20.1-r1
Распишу здесь пару проблем, возникших при сборке библиотеки gtk+ 2.20.1-r1.
1. Сообщение о том что нет файла cairo-pdf.h
Для решения необходимо отредактировать /etc/portage/package.use:
Я добавил флаги pdf svg gl. После сборки cairo (emerge cairo) и попытке сборки gtk+ сообщение может появляться вновь. Я в этом случае очищал /var/tmp.
2. Якобы нет библиотеки libGL.la
Решается так:
Надеюсь этот топик сэкономит кому-то время.
1. Сообщение о том что нет файла cairo-pdf.h
checking cairo-pdf.h usability... no
checking cairo-pdf.h presence... no
checking for cairo-pdf.h... no
configure: error:
*** Can't find cairo-pdf.h. You must build Cairo with the pdf
*** backend enabled.
Для решения необходимо отредактировать /etc/portage/package.use:
x11-libs/cairo glitz svg png pdf gl -qt4
Я добавил флаги pdf svg gl. После сборки cairo (emerge cairo) и попытке сборки gtk+ сообщение может появляться вновь. Я в этом случае очищал /var/tmp.
2. Якобы нет библиотеки libGL.la
/bin/grep: /usr/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/libGL.la' is not a valid libtool archive
Решается так:
emerge lafilefixer; lafilefixer --justfixit
Надеюсь этот топик сэкономит кому-то время.
- +4
- 16 октября 2010, 16:48
- 1