2013-05-24 3 views
1

У меня установлен ColdFusion 9 в моей системе.cfhttp не удалось прочитать данные с сайтов https даже после импорта сертификата

Мне нужно прочитать данные с зашифрованного сайта SSL (https). Я выполнил все шаги, описанные в документации CF.

То есть:

  • Перейти на страницу на сервере SSL в вопросе.
  • Дважды щелкните значок блокировки.
  • Перейдите на вкладку «Подробности».
  • Нажмите «Скопировать в файл».
  • Выберите вариант base64 и сохраните файл.
  • Скопируйте файл CER в C: \ ColdFusion8 \ runtime \ jre \ lib \ security (или в зависимости от того, что использует JRE ColdFusion).
  • Выполните следующую команду в том же каталоге (keytool.exe находится в C: \ CFusionMX7 \ выполнения \ JRE \ Bin):
    keytool -import -keystore cacerts -alias giveUniqueName -file filename.cer

В ЦМД, он показал "сертификат был успешно добавлен"

Но по-прежнему отображается та же ошибка не подтверждено подлинностью.

Есть ли еще что-то требуемое?

+1

Вы перезапустили службу ColdFusion после импорта сертификата? Вы уверены, что обновили правильное хранилище ключей? –

+0

Вы экспортировали все сертификаты в цепочке в приведенных выше шагах. Попробуйте просмотреть родительский сертификат и экспортировать/импортировать его. Работайте по цепочке, делая перезапуск между каждым импортом. Если я правильно напомню, Java сообщит вам, установлен ли сертификат уже – barnyr

+0

Кто является стороной, выдавшей сертификат? У меня была такая же проблема с сертификатом Godaddy (turbo ssl), даже после всех направлений и перезапуска. Никогда не разрешалось. Если бы godaddy переключил сертификат на starfield, и он работал отлично. – steve

ответ

0

Хотя в документации конкретно не упоминается об этом, требуется перезапуск службы ColdFusion. Если вы еще этого не сделали, это должно быть первое, что вы попробуете.

+0

Да, нам нужно перезапустить сервер приложений coldfusion, иначе он не будет работать. –

2

Если вы пытаетесь вызвать веб-службы в CF 11 (и, возможно, 10, но убедитесь сами), CF ожидает, что веб-служба или любой вызов CFHTTP будут использовать службу WebSocket и порт 8577 в стандартной настройке. Это связано с тем, что WebSocket Services оптимизированы для веб-сервисов, а CFHTTP также использует WebService Sockets.

Я запускаю CF 11 на моем сервере IIS, а порт 8577 заблокирован межсетевым экраном. Когда я пытался подключиться, он посылает обратно эту ошибку для CFHTTP и веб-сервисов:

«I/O Исключение: sun.security.validator.ValidatorException: PKIX путь здание не удалось: sun.security.provider. certpath.SunCertPathBuilderException: не удалось найти правильный путь сертификации к запрошенной цели»

Казалось бы, как это требует добавления пользовательских сертификатов в CACERT для JRE, но это не решение для меня.

Существует простое исправление для его запуска с IIS (по крайней мере, IIS), если вы не хотите разблокировать службу WebSocket и вам не нужна эта производительность для запуска изначально. Все, что вам нужно сделать, это войти в панель управления CF Admin и изменить службу WebSocket на «Использовать прокси». Это отправит все вызовы в службу CF WebSocket или CFHTTP через IIS в качестве прокси. Перезагрузите службу сервера приложений CF, и она должна работать нормально. Если эти направления не идеальны, я приношу свои извинения, но это приведет вас к тому, чтобы оно работало. См. Также Using WebSocket with ColdFusion 11.