Coldfusion: CFHTTP со страницей, зашифрованной SSL (https://) — ошибка

Я делаю cfhttp для подключения к зашифрованной странице. На некоторых сайтах работает нормально.

I/O Exception: Name in certificate `pro.test.com' does not match host name `go.test.com'

Есть ли способ доверять этому сертификату, даже если имя хоста не совпадает?


person ricoe    schedule 21.12.2009    source источник


Ответы (3)


Думаю, это больше вопрос о Java, и обходной путь должен влиять на JRE.

Не уверен, что это сработает в вашем случае, но возможное решение — импортировать этот сертификат в хранилище ключей JRE.

Общее описание можно найти на веб-сайте Sun. Хотя процесс довольно простой.

Сначала вы должны перейти по нужному URL-адресу HTTPS в своем браузере и экспортировать сертификат, используя свойства SSL (не помню, как это делается в IE, но в Firefox что-то вроде «Безопасность»> «Просмотр сертификата»> «Подробности»> «Сохранить как» — все еще не уверен, потому что с использованием неанглийской локализации) должен работать любой тип X.509.

Затем вы должны импортировать его с помощью keytool. Перейдите к текущей корзине CF JRE, выполните следующую команду (замените аргументы своими значениями) и перезапустите CF:

keytool -keystore <path to keystore> -import -file <path to certificate> -alias <alias>

Кстати, для этого существует инструмент пользовательского интерфейса, но я им не пользовался, поэтому не могу скажите, если он работает нормально.

person Sergey Galashyn    schedule 21.12.2009

Сайты, которые, вероятно, работают, имеют действительный сертификат SSL от доверенного центра.

Если у вас есть контроль над pro.test.com, предпочтительным ответом будет установка действительного сертификата для pro.test.com. Но если это по какой-то причине невозможно, я вижу два других варианта:

1) Сделайте попытку/поймать, где вы пытаетесь подключиться через https, и вернуться к http в случае ошибки SSL. Очевидно, что это устранит шифрование неудачного соединения.

or

2) Используйте решение Сергея для импорта ключа для этого сайта в хранилище ключей Java.

person Dan Sorensen    schedule 21.12.2009

Если go.test.com — это просто сервер разработки, в этом случае вы можете создать самозаверяющий сертификат и импортировать его в хранилище ключей Java. Таким образом, вы можете сэкономить на затратах, не платя CA, и получить более быстрое решение проблемы.

person Dmitriy    schedule 09.04.2010