Ошибка SSL ГОСТ. Как исправить?

Ваш отзыв

ssl

Добрый день всем! Я знаю три веселых буквы, на которые если послать человека и там у него что-то не срослось, то после долгих и упорных разбирательств от человека можно услышать чуть другие три буквы… Эти три буквы до возникновения серьезных проблем… SSL!  Ошибки SSL \ TLS — это целый кладезь! Как только дело доходит до взаимодействия с государственными органами, такими как сдача налоговой и пенсионной отчетности, как использование госуслуг и т.п., приходится иметь дело с SSL ГОСТ, а это накладывает еще один пласт проблем, связанных с российскими криптопровайдерами.

Чтобы убедиться, что ничего не работает что криптопровайдер ГОСТ поддерживается в Вашей системе, можно попытаться зайти сайт https://cpca.cryptopro.ru/ при помощи браузера Internet Explorer или Microsoft Edge. Сразу говорю, что я все проделываю в операционных системах Windows 7 и Windows 10. Если цепочка сертификатов от УЦ КРИПТО-ПРО не установлена, то браузер ругнется на то, что «Этот веб-сайт не защищен». Надо кликнуть на ссылку «Подробнее».

web site not protected

Затем надо кликнуть по ссылке «Перейти на веб-страницу (не рекомендуется)».

click to page link

Ни браузер Chrome, ни Mozilla Firefox на данную страницу войти не смогли. Первый ответил, что ERR_SSL_PROTOCOL_ERROR, второй — SSL_ERROR_NO_CYPHER_OVERLAP.

Если на страницу не войти никак, то скорее всего не установлен российский криптопровайдер, например, КриптоПро CSP. У меня же была проблема с SSL, вызванная тем, что почему-то КриптоПро «криво» встал. Решение — полная переустановка КриптоПро с cspclean для очистки компа от останков криптопровайдера.

Также не стоит пренебрегать настройками Internet Explorer. Бывает так, что сайт не открывается из-за одной не поставленной галочки, например «TLS 1.0» или «Использовать TLS 1.1».

настройки ie ssl tls

Если нам необходимо поднять свой сервис или сайт, к которому можно было бы подключаться по HTTPS, нам надо приложить еще некоторое количество усилий.

Допустим, у нас есть некий тестовый сайт, крутящийся на IIS. Вот он:

iis http

Чтобы подключаться к данному сайту по SSL, надо задать привязку для сайта в оснастке IIS.

привязка https

В открывшемся окне добавляем привязку https на 443 порту.

добавление привязки https

Затем выбираем из списка сертификат ГОСТ, тип привязки https и нажимаем ОК.

добавление сертификата https

Как?! Нет нужного сертификата в списке ? А списке «Сертификаты (локальный компьютер)» — Личное — Реестр — Сертификаты есть? Наверное, нет. Также еще раз удостоверяемся, что нужная цепочка сертификатов установлена.

Так, привязка добавлена, теперь надо указать сайту, чтобы он требовал SSL. Для этого кликаем в оснастке IIS на приложение сайта и в правой части окна щелкаем по иконке «Параметры SSL».

параметры SSL

Устанавливаем галочку «Требовать SSL».

требовать SSL

Все, теперь как бы можно подключаться к сайту. И… раз!

не удалось открыть страницу

Мы понимаем, что SSL не поднялся. Идем в логи, а там четко написано, что «КриптоПро TLS. Не установлен компонент «Криптопровайдер режима ядра», необходимый для работы КриптоПро TLS в службах Windows Vista/2008 и выше (веб-сервер, сервер терминалов)».

Не установлен компонент "Криптопровайдер режима ядра"

Дело в том, что по умолчанию при установке КриптоПро у нас устанавливается только клиентская криптография. Т.е. мы можем сформировать подпись, проверить ее, что-то зашифровать при помощи своего клиентского ПО, но когда речь заходит о службах Windows, то у клиентской части КриптоПро туда нет доступа. Да и как-то странно давать серверные возможности программе с клиентской лицензией, а именно ее приобретают на обычные рабочие места для бухгалтеров . Для поднятия SSL ГОСТ нужна серверная лицензия КриптоПро.

Допустим, что у нас все это есть, тогда у нас есть возможность установить этот самый криптопровайдер режима ядра, который представляет из себя драйвер, который уже может предоставлять свои услуги различным службам Windows, включая обеспечение работы SSL для сайта, хостящегося на IIS.

Идем в установку и удаление программ, находим там строку КриптоПро CSP, щелкаем по кнопке «Изменить».

КриптоПро установкаОткроется окно установки КриптоПро. Выбираем вариант «Изменить», жмем «Далее».

КриптоПро установка

В следующем окне видим, что и впрямь криптопровайдер уровня ядра не установлен.

КриптоПро установка

Кликаем на нем и в выпадающем меню щелкаем по первому пункту. Кстати, обратите внимание на то, что описание компонента четко описывает, зачем сия надстройка.

КриптоПро установка

Последний штрих — это подтверждение установки дополнительной компоненты.КриптоПро установка

Затем перезагружаемся и пробуем еще раз зайти на свой сайт. Если все выглядит так, то УРА!!!!

ssl проблема решена

Один раз столкнулась с тем, что даже после этого ничего не работало, пришлось вновь идти смотреть ошибки, там среди прочего была гордая надпись «КриптоПро TLS. Ошибка 0x8009200b при обращении к CSP: Не удается найти сертификат и закрытый ключ для расшифровки.». Я в оснастке IIS вновь указала сертификат ГОСТ в привязке https, и SSL поднялся.

Итак, приведем список основных, самых тривиальных причин, почему не открывается свой/чужой сайт по HTTPS ГОСТ.

  • Не установлен КриптоПро или какой-либо другой российский криптопровайдер. Лечение — собственно установка.
  • Скажем, тот же КриптоПро установился, но криво. Лечение — переустановка с cspclean для надежности
  • Не установлен криптопровайдер режима ядра, если нужно поднять сайт с SSL на своем сервере IIS. Лечение — доустановить этот компонент. Возможные проблемы с лицензией КриптоПро, т.к. нужна именно серверная лицензия, а не клиентская!

Есть еще ряд проблем с неустановленной цепочкой сертификатов, обновлениями Windows (пример — KB4025339  на Windows 10, перестал в IE работать ГОСТ вообще, вылечилось удалением этого обновления и полной переустановкой КриптоПро).


Оставьте комментарий

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> <img src="" alt="" class="" width="" height="">

http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ab.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ac.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ag.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ah.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ai.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ak.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/am.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/an.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ao.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aq.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ar.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/at.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/av.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aw.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ay.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/az.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bb.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bc.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bd.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/be.gif 
больше...