2009-12-21 3 views
2

Я делаю cfhttp для подключения к зашифрованной странице. Кажется, что это нормально для некоторых сайтов.Coldfusion: CFHTTP с SSL-зашифрованной страницей (https: //) - получена ошибка

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

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

ответ

8

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

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

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

Прежде всего, вы должны перейти к нужному URL HTTPS с вашим браузером и экспортировать сертификат с использованием свойств SSL (не помните, как это делается в IE, но в Firefox что-то вроде Security> View cert> Details> Save as - все еще не уверен, потому что, используя не-английскую ликализацию), любой тип X.509 должен работать.

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

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

Кстати, есть UI tool для этого, но я не использовал его, чтобы не скажем, если он работает нормально.

+0

Другой инструмент пользовательского интерфейса: https://sourceforge.net/projects/portecle – approxiblue

0

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

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

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

или

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

0

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