CFHTTP через SSL

Я пытаюсь получить файлы с сервера через SSL, используя ColdFusion CFHTTP тег безуспешно Наша среда - Linux, использующая конфигурацию сервера. Используется хранилище ключей по адресу cf_root/runtime/jre/lib/security/cacerts, Я получил сертификат X.509 (в формате DER) с целевого сервера и экспортировал его в файл. На нашем сервере, в папке, где находятся cacerts, я импортировал этот сертификат в наше хранилище ключей cacerts:

keytool -import -alias certAlias ​​-file pathToX509Cert -keystore cacerts -storepass blahPass

и перезапустил ColdFusion. Тем не менее, мы все еще получаем ошибку "I/O Exception: peer not authenticated". Я даже попытался импортировать тот же сертификат в trustStore на cf_root/runtime/lib/trustStore и перезапуск ColdFusion. Тот же результат. Что-то еще мне не хватает? Я даже попытался обойти Раймонда Кэмдена без удачи.

1 ответ

В зависимости от версии CF, которую вы используете, единственным решением может быть решение, опубликованное Ray. В некоторых случаях импорт сертификата может работать, но если вы получаете доступ к SSL-сертификату с подстановочными знаками, я никогда не смог заставить его работать на CF8 или ниже.

Для справки, код, который исправит это:

<cfset objSecurity = createObject("java", "java.security.Security") />
<cfset storeProvider = objSecurity.getProvider("JsafeJCE") />
<cfset objSecurity.removeProvider("JsafeJCE") />

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

FWIW, вы обычно можете поймать эту ошибку в cfcatch, используя тип "COM.Allaire.ColdFusion.HTTPFailure".

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