Установить сначала КриптоПро CSP. После установки программы до перезагрузки компьютера запустить reg-файл с содержимым:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerCProPatches]
“Force”=dword:00000001
Установить VipNet CSP/Validata CSP.
Если КриптоПро CSP уже установлен, то запустить reg-файл и перезагрузить компьютер.
Главное, чтобы КриптоПро CSP был установлен (и в реестр внесено нужное значение параметра) до начала установки VipNet CSP/Validata CSP.
Если VipNet CSP/Validata CSP уже установлен и нет возможности его удалить, можно попробовать так:
а) Пуск — Выполнить — regedit;
б) запустить установку КриптоПро CSP;
в) по завершении установки программы до перезагрузки компьютера перейти в нужный раздел реестра (HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerCProPatches) и вручную исправить значение параметра Force с 0 на 1.
Данная инструкция актуальна для всех версий КриптоПро CSP, начиная с КриптоПро CSP 3.6 R2 (если устанавливать КриптоПро CSP первым).
Для корректной работы TLS в Internet Explorer по ГОСТ при установленном КриптоПРО CSP и ViPNet 4.2 необходимо в ветке реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
отредактировать параметр Security Packages: заменить sspp на schannel, перезагрузить компьютер и проверить работу Internet Explorer.
Activex
Компания Microsoft разработала два основных клиентских ActiveX-компонента, которые транслируют функционал CryptoAPI в скрипты, в браузер.Для генерации ключа и создания PKCS#10-запроса применятся компонент XEnroll/CertEnroll, а для ЭЦП/шифрования и работы с сертификатами компонент CAPICOM.
В следующих статьях будут подробно рассмотрены оставшиеся решения.
Openssl-style
Open Source библиотека OpenSSL обладает широкими криптографическими возможностями и удобным механизмом ее расширения другими криптоалгоритмами. OpenSSL является основным криптоядром для широкого спектра приложений Open Source.
После того, как в эту библиотеку компанией Криптоком были добавлены ГОСТы, появились патчи для «гостификации» многих популярных приложения, использующих OpenSSL. На базе OpenSSL некоторые вендоры разработали и сертифицировали СКЗИ, кроме того в ряд продуктов OpenSSL входит «неявным» образом.
Pkcs#11
Библиотека PKCS#11 предоставляет универсальный кроссплатформенный программный интерфейс к USB-токенам и смарт-картам.
Функции делятся на:
Таким образом, стандарт PKCS#11 поддерживает полный набор криптопримитивов, пригодный для реализации криптографических форматов (PKCS#7/CMS/CADES, PKCS#10, X.509 и др.) и протоколов (TLS, IPSEC, openvpn и др.).
Для обеспечения быстродействия часть криптопримитивов может быть реализована программно.
В стандарте PKCS#11, начиная с версии 2.30, поддерживаются ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94, ГОСТ 28147-89.
Использование библиотеки PKCS#11 обеспечивает совместимость ПО различных вендоров при работе с токенами. Через PKCS#11 интерфейс умеют работать приложения, написанные на на базе CryptoAPI, NSS, OpenSSL.
Пример совместимости приложений приведен на схеме. Таким образом, возможно использование подходящего приложения в соответствующем месте инфосистемы.
PKCS#11 бывают также без поддержки аппаратных устройств с программной реализацией криптоалгоритмов и хранением объектов в файловой системе.
Примеры – PKCS#11 интегрированный в NSS (Mozilla), проект aToken, библиотека Агава-Про.
У компании Крипто-Про есть библиотека PKCS#11, реализованная на базе MS CryptoAPI:
Существуют PKCS#11-библиотеки для мобильных платоформ. Примером подобной библиотеки служит библиотека для Рутокен ЭЦП Bluetooth, которая позволяет использовать устройство на iOS и Android.
Библиотеки c собственным интерфейсом
Проприетарные библиотеки предоставляют собственный API для встраивания в приложения. В данный список можно внести:
Браузерные плагины
Для того, чтобы из скриптов WEB-страницы вызвать нативную библиотеку большинство браузеров поддерживают специальные расширения — ActiveX для IE и NPAPI-плагин для GH, MF, Opera, Sаfari и др. В данный момент на рынке существует широкий спектр продуктов, относящихся к браузерным плагинам.
Архитектурно данные плагины могут быть исполнены по-разному. Некоторые работают на базе CryptoAPI и требуют дополнительной установки криптопровайдера, другие используют в качестве криптоядра PKCS#11-совместимые устройства и не требуют установки дополнительных СКЗИ на рабочее место клиента. Есть универсальные плагины, которые поддерживают как все основные криптопровайдеры, так и широкий спектр аппаратных СКЗИ.
Криптопровайдеры
Де-факто стандартом отрасли является класс криптосредств, известных как криптопровайдеры. Криптопровайдер — это предоставляющая специальный API и специальным образом зарегистрированная в ОС библиотека, которая позволяет расширить список поддерживаемых в ОС криптоалгоритмов.
Следует отметить, что несовершенство предлагаемых MS Windows механизмов расширения вынуждает разработчиков криптопровайдеров дополнительно модифицировать высокоуровневые криптобиблиотеки и приложения MS Windows в процессе их выполнения для того, чтобы «научить» их использовать российские криптоалгоритмы.
Следует понимать, что не все СКЗИ одного вида реализуют полный объем функциональности, приведенный в таблицах. Для уточнения возможностей криптосредств следуют обратиться к производителю.
Кроссбраузерные плагины
| Спецификация | – |
| Платформы | Семейство Windows, GNULinux, OS X |
| Алгоритмы и криптографические протоколы | ЭЦП, шифрование, хэш-функция, имитозащита, HMAC |
| Интеграция с PKI | X.509, PKCS#10, CMS, CRL, OCSP (КриптоПро ЭЦП Browser plugin), TSP (КриптоПро ЭЦП Browser plugin) |
| Механизмы ЭЦП | Программный интерфейс для использования в JavaScript |
| Механизмы аутентификации | ЭЦП случайных данных |
| Механизмы “гостирования” TLS | – |
| Форматы защищенных сообщений | PKCS#7, CMS, XMLSec (КриптоПро ЭЦП Browser plugin), CADES (КриптоПро ЭЦП Browser plugin) |
| Интеграция с браузером | ActiveX (для IE) NPAPI |
| Мобильные платформы | не поддерживаются |
| Хранилища ключей | Реестр, файлы, USB-токены |
| Взаимодействие с USB-токенами | Хранилище ключей и сертификатов Использование аппаратной реализации алгоритмов Через PKCS#11, через CryptoAPI |
| Приложения | Браузеры |
| Инсталляция | Программа установки, не требуются права системного администратора |
| Примеры (ГОСТ) | КриптоПро ЭЦП Browser plugin eSign-PRO КриптоПлагин Лисси Плагин портала госуслуг JC-WebClient Рутокен Плагин Плагин BSS КриптоАРМ Browser plugin |
Проблемы:
Плюсы:
Локальные прокси
Основным принципом действия локального прокси является прием незащищенного соединения от приложения, установка TLS-туннеля с удаленным сервером и передача «прикладного уровня» между приложением и удаленным сервером по этому туннелю.






