криптопро аском

вопросы

Из нашей статьи вы узнаете:

КриптоПро — это специальный криптопровайдер, софт, предназначенный для подписи и шифрования. Без применения таких программ, как КриптоПро, использование ЭЦП становится невозможным. Криптопровайдер — модуль, который устанавливается непосредственно на персональный компьютер и предназначен для защиты данных от изменения третьими лицами.

Программа компании КриптоПро позволяет ставить подписи, шифровать и защищать данные. Любому пользователю ЭЦП требуется криптопровайдер.

Содержание
  1. Важное вступление
  2. Done.
  3. Поддержка КриптоПро различными платформамиПравить
  4. Скачать КриптоПро CSP 5. 12222, 5. 12000, 5. 11944, 5. 11732, 5. 11455
  5. Локальные прокси
  6. Криптопровайдеры
  7. Вопросы и ответы
  8. Соберем проект с поддержкой ГОСТ Р 34. 11-2012 256 bit
  9. Первым делом создадим новую папку
  10. I – Сборка проекта без сборки corefx для Windows
  11. II – Сборка проекта со сборкой corefx для Windows
  12. Инструкция по установке КриптоПро 4
  13. Немного покодим
  14. Пробный запуск
  15. Проверка в КриптоАРМ
  16. Проверка на Госуслугах
  17. Проверка в Контур. Крипто
  18. Как приобрести
  19. История
  20. Где купить КриптоПро
  21. Скачать КриптоПро CSP 4. 9975, 4. 9974, 4. 9969, 4. 9963, 4. 9944
  22. Советы эксперта
  23. Продукты КриптоПроПравить
  24. Средства криптографической защиты информацииПравить
  25. Инфраструктура открытых ключейПравить
  26. Защита от несанкционированного доступа с использованием КриптоПро CSPПравить
  27. Программы и утилитыПравить
  28. Можно ли скачать КриптоПро бесплатно
  29. Криптографические решения. От криптопровайдеров до браузерных плагинов
  30. Так, а что надо на выходе?
  31. О компании
  32. Преимущества компании КриптоПро
  33. Среди главных преимуществ КриптоПро выделяют:
  34. Как подписать документ ЭЦП с помощью КриптоПро 5
  35. КриптоПро
  36. Браузерные плагины
  37. Кроссбраузерные плагины
  38. ActiveX
  39. ПримечанияПравить
  40. Служба поддержки КриптоПро
  41. Ссылки на публичные источники
  42. Что имеем на входе?
  43. Нативные библиотеки
  44. OpenSSL-style
  45. PKCS#11
  46. NSS
  47. Библиотеки c собственным интерфейсом
  48. Как работает КриптоПро
  49. Главные функции КриптоПро
  50. Кому нужна программа КриптоПро
  51. Выводы

Важное вступление

В гайде описывается формирование отсоединенной подписи в формате PKCS7 (рядом с файлом появится файл в формате .sig). Такую подпись может запросить нотариус, ЦБ и любой кому нужно долгосрочное хранения подписанного документа. Удобство такой подписи в том, что при улучшении ее до УКЭП CAdES-X Long Type 1 (CMS Advanced Electronic Signatures [1]) в нее добавляется штамп времени, который генерирует TSA (Time-Stamp Protocol [2]) и статус сертификата на момент подписания (OCSP [3]) – подлинность такой подписи можно подтвердить по прошествии длительного периода (Усовершенствованная квалифицированная подпись [4]).

Код основан на репозиториях corefx и DotnetCoreSampleProject – в последнем проще протестировать свои изменения перед переносом в основной проект и он будет отправной точкой по сборке corefx. Судя по записям с форума компании [5], решение для .NET Core в стадии бета-тестирования. Далее по тексту я также буду ссылаться на этот форум. Разработка велась в Visual Studio Community 2019.

Для получения штампа времени использован TSP-сервис http://qs.cryptopro.ru/tsp/tsp.srf

Обновлено 13.01.2022

КриптоПро CSP — лидер среди криптопровайдеров (Cryptography Service Provider, CSP) в России. Используется для создания электронной подписи (ЭП), работы с сертификатами и т.д.

Лицензия (лицензионный ключ) платна, но предоставляется демо/пробный период 90 дней (3 месяца) во время которого функционал не ограничен. Бессрочные лицензии бесплатно выдает Федеральное казначейство бюджетным, казенным учреждениям и т.д. Некоторые коммерческие удостоверяющие центры выдают лицензии бесплатно при условии выпуска у них сертификата электронной подписи.

Если лицензия КриптоПро истекла, то работать с электронной подписью невозможно — ни зайти на сайт по сертификату, ни подписать документ нельзя.

Здесь доступны дистрибутивы КриптоПро CSP 4, 5 версии полученные с официального сайта. Мы избавляем вас от необходимости регистрироваться на официальном сайте для скачивания дистрибутивов.

Содержание

  • 1 Скачать КриптоПро CSP 4.0.9975, 4.0.9974, 4.0.9969, 4.0.9963, 4.0.9944
  • 2 Лицензия ключ КриптоПро 4
  • 3 Скачать КриптоПро CSP 5.0.12222, 5.0.12000, 5.0.11944, 5.0.11732, 5.0.11455
  • 4 Лицензия ключ КриптоПро 5
  • 5 Инструкция по установке КриптоПро 4.0

ВНИМАНИЕ!!! АКЦИЯ!!! 

C 15 апреля по 31 августа 2022 года Удостоверяющий центр ООО «АНК» предлагает издание квалифицированного сертификата физического лица со встроенной лицензией Крипто-Про CSP сроком действия 1 год за 1800 рублей вместо 2500 рублей.

Уважаемые клиенты! 

Мы стремимся перевести документооборот с нашими контрагентами в электронный формат.  Это наше стремление направлено на  удешевление, повышение надежности и удобства взаимодействия в части обмена документами.

Если ваша организация до настоящего времени не подключена к какому-либо сервису электронного документооборота (ЭДО), то предлагаем вам воспользоваться (совершенно бесплатно !)  сервисом электронного документооборота АСКОМ.NET, предоставляемого нашим партнером, – компанией АСКОМ.

Сервисом обмена электронными документами с контрагентами АСКОМ.NET можно воспользоваться зарегистрировавшись в данной системе ЭДО по адресу в сети Интернет: https://edo.ackom.net/  

Сервис позволяет осуществлять документооборот между контрагентами, передавая по каналам связи такие документы, как счет-фактура (УПД), акт о выполнении работ (оказании услуг), накладная ТОРГ-12, счет на оплату, договоры, регламенты и иные документы, без их дублирования на бумажном носителе.

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

Подключение к сервису бесплатное. При этом, зарегистрировавшемуся пользователю автоматически назначается Тарифный план «Старт», включающий возможность бесплатной отправки 20 исходящих электронных документов, а также возможность бесплатного получения неограниченного по времени и количеству входящих электронных документов.

При наличии необходимости отправлять большее количество электронных документов может быть выбран наиболее подходящий для вашей организации тарифный план.

Уважаемые клиенты!

Для тех, кто ценит свое время, мы предлагаем ускоренный выпуск  сертификата электронной подписи  за полтора часа!

– Вам не надо заполнять заявки с сайта и ждать договоров на почту, мы все оформим сами в Вашем присутствии. Если Вы являетесь Руководителем фирмы и хотите выпустить сертификат на свое имя, Вам необходимо иметь при себе только:

– Печать организации;

– Регистрационные документы фирмы (ИНН, св-ва о регистрации);

– Приказ о назначении Вас на должность;

– Ваше личное присутствие, Ваш паспорт и СНИЛС!

– Реквизиты компании в распечатанном виде!!!

Стоимость данной услуги составляет 1500 руб + стоимость выбранного Вами комплекта услуг согласно прайсу ООО “АНК”

Сертификат выпускается в любое удобное для Вас время с 10.00 до 16.30. Предварительно звоните 326-55-16.

Предложение действует при оплате наличными.

Done.

Гайд написан с исследовательской целью – проверить возможность подписания документов УКЭП с помощью самописного сервиса на .NET Core 3.1 с формированием штампов подлинности и времени подписания документов.

Безусловно это решение не стоит брать в работу “как есть” и нужны некоторые доработки, но в целом оно работает и подписывает документы подписью УКЭП.

Поддержка КриптоПро различными платформамиПравить

Скачать КриптоПро CSP 5. 12222, 5. 12000, 5. 11944, 5. 11732, 5. 11455

Поддерживаемые операционные системы: Windows 7, Windows 8, Windows 8.1, Windows 10

Версия КриптоПроСертификацияПоддержка ГОСТ-2012ПримечаниеСсылка для скачивания
КриптоПро 5.0.12222 (Lilith)Промежуточная версияПоддерживает ГОСТ-2012Скачать КриптоПро 5.0 (5.0.12222 Lilith)
Размер: 7,33 Мб
КриптоПро 5.0.12000 (Kraken)Сертификаты соответствия СКЗИ КриптоПро CSP 5.0.1200:
1-Base: СФ/114-4064 от 20.05.2021 до 01.05.2024
2-Base: СФ/124-4065 от 20.05.2021 до 01.05.2024
3-Base: СФ/124-4066 от 20.05.2021 до 01.05.2024
Поддерживает ГОСТ-2012Скачать КриптоПро 5.0 (5.0.12000 Kraken)
Размер: 7,3 Мб
КриптоПро 5.0.11944 (Jackalope)Версия предварительная, не сертифицирована!Поддерживает ГОСТ-2012Изменилась схема лицензирования. Требуются лицензии для КриптоПро CSP 5.0 (начинаются на 50). От КриптоПро CSP 4.0 подходят только временные лицензии с датой окончания.Скачать КриптоПро 5.0.11944 (Jackalope)
Размер: 7,43 Мб
КриптоПро 5.0.11732 (Heimdallr Update 1)Версия предварительная, не сертифицирована!Поддерживает ГОСТ-2012Изменилась схема лицензирования. Требуются лицензии для КриптоПро CSP 5.0 (начинаются на 50). От КриптоПро CSP 4.0 подходят только временные лицензии с датой окончания.Скачать КриптоПро 5.0.11732 (Heimdallr Update 1)
Размер: 7,45 Мб
КриптоПро 5.0.11455 (Fury)Сертификаты соответствия СКЗИ КриптоПро CSP 5.0.11455:
1-Base: СФ/114-3726 от 13.08.2019 до 13.08.2022
2-Base: СФ/124-3727 от 13.08.2019 до 13.08.2022
3-Base: СФ/124-3728 от 13.08.2019 до 13.08.2022
Поддерживает ГОСТ-2012Скачать КриптоПро 5.0 (5.0.11455 Fury)
Размер: 6,85 Мб

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

Локальные прокси

Основным принципом действия локального прокси является прием незащищенного соединения от приложения, установка TLS-туннеля с удаленным сервером и передача «прикладного уровня» между приложением и удаленным сервером по этому туннелю.

Некоторые локальные прокси кроме того дополнены механизмом ЭЦП специальным образом промаркированных WEB-форм (Inter-PRO, МагПро КриптоТуннель). Существуют локальные прокси, которые предоставляют для браузера WEB API ЭЦП (систему HTTP-запросов и ответов, аналогичных программному API криптобиблиотеки).

криптопро аском

Спецификация
ПлатформыСемейство Windows, GNU\Linux, OS X. На базе СПО iOS, Android
Алгоритмы и криптографические протоколыЭЦП, шифрование, хэш-функция, имитозащита, HMAC, VKO;
TLS
Интеграция с PKIX.509, PKCS#10, CMS, CRL, OCSP, TSP
Механизмы ЭЦППодпись WEB-форм при прохождении траффика
WEB API
Механизмы аутентификацииклиентская аутентификация в рамках TLS
Механизмы “гостирования” TLSЧерез механизм проксирования
Форматы защищенных сообщенийPKCS#7, CMS
Интеграция с браузеромЧерез механизм проксирования
Мобильные платформыiiOS, Android на базе СПО sTunnel
Хранилища ключейРеестр, файлы, USB-токены
Взаимодействие с USB-токенамиХранилище ключей и сертификатов
Использование аппаратной реализации алгоритмов
Через PKCS#11, PC/SC, APDU
ПриложенияБраузеры
WEB-сервера
RDP
Почтовые клиенты и сервера
ИнсталляцияПрограмма установки, в целом не требуются права системного администратора
Копирование, запуск
Запуск с FLASH-памяти USB-токена
Примеры (ГОСТ)МагПро КриптоТуннель
Inter-PRO
VPNKey-TLS
LirTunnel
КриптоПро sTunnel
sTunnel

Проблемы:

  • прокси должен быть запущен;
  • приложение должно работать через прокси, нужно «научить» его этому;
  • могут использоваться нестандартные порты, отсюда проблемы в файрволом
  • если приложение «ходит» через localhost, то, например, в адресной строке браузера прописано localhost… — нестандартно
  • дополнительные ограничения на разработку web-сайта — в ряде случаев использование только относительных ссылок, чтобы не «вылететь» из туннеля
  • прокси сконфигурирован на проксирование конечной группы сайтов, расширение группы — это обновление клиентского конфига
  • работа через внешний прокси требует дополнительного конфигурирования локального прокси, при этом могут быть проблемы с аутентификацией пользователя на внешнем прокси

Плюсы:

  • решение использует универсальную технологию, поэтому можно не бояться его устаревания;
  • решение может применяться на большом числе платформ, в том числе на мобильных платформах;
  • кроссбраузерность, поддержка всех WEB-серверов без модификации;
  • не требует инсталляции;
  • поддержка различных прикладных протоколов.

Криптопровайдеры

Де-факто стандартом отрасли является класс криптосредств, известных как криптопровайдеры. Криптопровайдер — это предоставляющая специальный API и специальным образом зарегистрированная в ОС библиотека, которая позволяет расширить список поддерживаемых в ОС криптоалгоритмов.

Следует отметить, что несовершенство предлагаемых MS Windows механизмов расширения вынуждает разработчиков криптопровайдеров дополнительно модифицировать высокоуровневые криптобиблиотеки и приложения MS Windows в процессе их выполнения для того, чтобы «научить» их использовать российские криптоалгоритмы.

Следует понимать, что не все СКЗИ одного вида реализуют полный объем функциональности, приведенный в таблицах. Для уточнения возможностей криптосредств следуют обратиться к производителю.

криптопро аском

СпецификацияMicrosoft CSP, Microsoft CNG, CryptoAPI 1.0 -> CryptoAPI 2.0
ПлатформыСемейство Windows. Есть порт на GNU\Linux, OS X, iOS, Android
Алгоритмы и криптографические протоколыЭЦП, шифрование, хэш-функция, имитозащита, HMAC, VKO;
TLS, EAP-TLS, Kerberos
Интеграция с PKIX.509, PKCS#10, CMS, CRL, OCSP, TSP
Механизмы ЭЦПНативный программный интерфейс, Си-style;
Встраивание в приложения
Механизмы аутентификацииКлиентская аутентификация в рамках TLS.
KERBEROS-аутентификация в домене Windows.
Собственные механизмы аутентификации на базе ЭЦП случайных данных
Механизмы “гостирования” TLSВстраивание в системный TLS
Поддержка прикладных протоколовHTTPS, SMTPS, IMAPS, POP3S, RDP, NNTPS, FTPS, LDAPS
Форматы защищенных сообщенийPKCS#7, CMS, XMLSec, S/MIME;
CADES (КриптоПро ЭЦП), PDF signature (КриптоПро PDF), MS Office Signature (КриптоПро Office Signature)
Интеграция с браузеромЭЦП в IE через ActiveX CAPICOM, PKCS#10 через ActiveX XEnroll/CertEnrool
TLS в IE через встраивание в SSPI-провайдер
ЭЦП в различных браузерах через проприетарные плагины (КриптоПро ЭЦП Browser Plugin)
TLS-прокси (КриптоПро sTunnel)
Кастомные браузеры (КриптоПро Fox, Защищенный браузер Digital Design)
Интеграция со службой каталоговMS Active Directory; клиентская часть с произвольным LDAP-каталогом
Мобильные платформыПорт КриптоПро CSP на iOS, Android
Команднострочная утилитаЕсть
Хранилища ключейРеестр, USB-токены
Взаимодействие с USB-токенамиХранилище ключей и сертификатов
Использование аппаратной реализации алгоритмов
Через PKCS#11, PC/SC, APDU
ПриложенияIE, Microsoft Office, Microsoft Outlook Express, Microsoft Outlook, Microsoft Word/Excel, Microsoft Authenticode, Microsoft RDP, Microsoft Certification Authority, Microsoft IIS, Microsoft Exchange, Microsoft Terminal Server, Winlogon, Microsoft EFC
Проприетарные приложения
СПО (sTunnel, FireFox, Apache через Trusted TLS, патч для OpenVPN)
Adobe Reader
SAP
Интеграция с фреймворкамиMicrosoft.NET (КриптоПро.NET)
ИнсталляцияПрограмма установки, требуются права системного администратора
Примеры (ГОСТ)КриптоПро CSP
ViPNet CSP
Signal-COM CSP
Лисси CSP
КриптоПро Рутокен CSP
Валидата CSP
Читайте также:  Электронная подпись для юридических лиц: как получить ЭЦП юр.лицу

Проблемы:

  • Отсутствие нормальной кроссплатформенности;
  • Установка с правами администратора, настройка;
  • Установка обновления Windows может потребовать обновления провайдера;
  • Необходимость встраивания в приложения посредством модификации кода «на лету»;
  • CSP — неродной интерфейс для не-Windows-приложений.

Плюсы:

  • Широкий охват Windows-приложений;
  • Богатый инструментарий для разработчиков защищенных систем;
  • Апробированная на большом количестве проектов технология.

Вопросы и ответы

Для каких случаев нужна горячая линия?

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

Как войти в личный кабинет?

Как активировать пробный период?

Пробный период активируется автоматически после установки программы.

Как установить сертификат?

Как продлить лицензию?

Для продления лицензии, рекомендуется обратиться к магазину, где приобретали «продукт» либо выбрать компанию, где хотите приобрести обновление.

Как написать жалобу?

Оставляйте жалобы, используя для этого электронную почту, форум КриптоПро или другие каналы взаимодействия. Укажите тему, имя и контакты и опишите характер претензии.

Соберем проект с поддержкой ГОСТ Р 34. 11-2012 256 bit

Гайд разделен на несколько этапов. Основная инструкция по сборке опубликована вместе с репозиторием DotnetCoreSampleProject – периодически я буду на нее ссылаться.

Первым делом создадим новую папку

… и положим туда все необходимое.

Инструкция делится на 2 этапа – мне пришлось выполнить оба, чтобы решение заработало. В папку добавьте подпапки .\runtime и .\packages

I – Сборка проекта без сборки corefx для Windows

  1. Установите КриптоПро 5.0 и убедитесь, что у вас есть действующая лицензия. – для меня подошла втроенная в ЭП;

  2. Установите core 3.1 sdk и runtime и распространяемый пакет Visual C++ для Visual Studio 2015 обычно ставится вместе со студией; прим.: на II этапе мне пришлось через установщик студии поставить дополнительное ПО для разработки на C++ – сборщик требует предустановленный DIA SDK.

  3. Задайте переменной среды DOTNET_MULTILEVEL_LOOKUP значение 0 – не могу сказать для чего это нужно, но в оригинальной инструкции это есть;

    1. package_windows_debug.zip распакуйте в .\packages

    2. runtime-debug-windows.zip распакуйте в .\runtime

  4. Добавьте источник пакетов NuGet в файле %appdata%\NuGet\NuGet.Config – источник должен ссылаться на путь .\packages в созданной вами папке. Пример по добавлению источника есть в основной инструкеии. Для меня это не сработало, поэтому я добавил источник через VS Community;

  5. git clone https://github.com/CryptoProLLC/NetStandard.Library
    New-Item -ItemType Directory -Force -Path "$env:userprofile\.nuget\packages\netstandard.library"
    Copy-Item -Force -Recurse ".\NetStandard.Library\nugetReady\netstandard.library" -Destination "$env:userprofile\.nuget\packages\"
  6. Склонируйте репизиторий DotnetCoreSampleProject в .\

  7. Измените файл .\DotnetSampleProject\DotnetSampleProject.csproj – для сборок System.Security.Cryptography.Pkcs.dll и System.Security.Cryptography.Xml.dll укажите полные пути к .\runtime;

  8. Перейдите в папку проекта и попробуйте собрать решение. Я собирал через Visual Studio после открытия проекта.

II – Сборка проекта со сборкой corefx для Windows

  1. Выполните 1-3 и 6-й шаги из I этапа;

  2. Склонируйте репозиторий corefx в .\

  3. Выполните сборку запустив .\corefx\build.cmd – на этом этапе потребуется предустановленный DIA SDK

  4. Выполните шаги 5, 7-9 из I этапа. Вместо условного пути .\packages укажите .\corefx\artifacts\packages\Debug\NonShipping, а вместо .\runtime укажите .\corefx\artifacts\bin\runtime\netcoreapp-Windows_NT-Debug-x64

На этом месте у вас должно получиться решение, которое поддерживает ГОСТ Р 34.11-2012 256 bit.

Инструкция по установке КриптоПро 4

Запустите установочный файл CSPSetup_4.0.xxxx.exe

В первом появившемся окне нажмите кнопку «Запустить».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Далее нам сообщают, что мы принимаем условия лицензионного соглашения и устанавливаем программу с временной лицензией на 3 месяца. Нажимаем «Дополнительные опции».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

В дополнительных опциях можно выбрать язык (русский, английский) и конфигурацию уровня безопасности (КС1, КС2, КС3). По умолчанию язык — русский, уровень безопасности — КС1 (такие настройки рекомендуется оставить!). В нашем случае необходимо установить КС2, поэтому настройки изменяем.

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Нажимаем «Далее».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Принимаем условия лицензионного соглашения, нажимаем «Далее».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Вводим имя пользователя и название организации. Если есть лицензия, то набираем лицензионный ключ. Если лицензии нет, то программа будет работать 3 месяца без лицензионного ключа. Нажимаем «Далее».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Выбираем обычную установку. Нажимаем «Далее».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Выбираем «Зарегистрировать считыватель «Реестр». (Это позволяет хранить закрытый ключ в реестре, необходимость во флешке или рутокене отпадает).

Нажимаем «Установить».

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Ждем пока программа установится.

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Дальше остается нажать «Готово». КриптоПро установлено.

КриптоПро CSP 4.0 / 5.0 cкачать бесплатно. Инструкция по установке

Немного покодим

Потребуется 2 COM библиотеки: “CAPICOM v2.1 Type Library” и “Crypto-Pro CAdES 1.0 Type Library”. Они содержат необходимые объекты для создания УКЭП.

В этом примере будет подписываться BASE64 строка, содержащая в себе PDF-файл. Немного доработав код можно будет подписать hash-значение этого фала.

Основной код для подписания был взят со страниц Подпись PDF с помощью УЭЦП- Page 2 (cryptopro.ru) и Подпись НЕОПРЕДЕЛЕНА при создании УЭЦП для PDF на c# (cryptopro.ru), но он использовался для штампа подписи на PDF документ. Код из этого гайда переделан под сохранение файла подписи в отдельный файл.

Условно процесс можно поделить на 4 этапа:

  1. Поиск сертификата в хранилище – я использовал поиск по отпечатку в хранилище пользователя;

  2. Чтение байтов подписанного файла;

  3. Сохранение файла подписи рядом с файлом.

using CAdESCOM;
using CAPICOM;
using System;
using System.Globalization;
using System.IO;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.Xml;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

public static void Main()
{
  //Сертификат для подписи
	X509Certificate2 gostCert = GetX509Certificate2("отпечаток");
  //Файл, который предстоит подписать
  byte[] fileBytes = File.ReadAllBytes("C:\\Тестовое заявление.pdf");
  //Файл открепленной подписи
  byte[] signatureBytes = SignWithAdvancedEDS(fileBytes, gostCert);
  //Сохранение файла подписи
  File.WriteAllBytes("C:\\Users\\mikel\\Desktop\\Тестовое заявление.pdf.sig", signatureBytes);
}

//Поиск сертификата в хранилище
public static X509Certificate2 GetX509Certificate2(string thumbprint)
{
  X509Store store = CreateStoreObject("My", StoreLocation.CurrentUser);
  store.Open(OpenFlags.ReadOnly);

  X509Certificate2Collection certCollection =
    store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);

  X509Certificate2Enumerator enumerator = certCollection.GetEnumerator();
  X509Certificate2 gostCert = null;
  while (enumerator.MoveNext())
    gostCert = enumerator.Current;
  if (gostCert == null)
    throw new Exception("Certificiate was not found!");

  return gostCert;
}

//Создание УКЭП
public static byte[] SignWithAdvancedEDS(byte[] fileBytes, X509Certificate2 certificate)
{
  string signature = "";
  
  try
  {
    string tspServerAddress = @"http://qs.cryptopro.ru/tsp/tsp.srf";

    CPSigner cps = new CPSigner();
    cps.Certificate = GetCAPICOMCertificate(certificate.Thumbprint);
    cps.Options = CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
    cps.TSAAddress = tspServerAddress;

    CadesSignedData csd = new CadesSignedData();
    csd.ContentEncoding = CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
    csd.Content = Convert.ToBase64String(fileBytes);

    //Создание и проверка подписи CAdES BES
    signature = csd.SignCades(cps, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
    csd.VerifyCades(signature, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true);
    
    //Дополнение и проверка подписи CAdES BES до подписи CAdES X Long Type 1 
    //(вторая подпись остается без изменения, так как она уже CAdES X Long Type 1)
    signature = csd.EnhanceCades(CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, tspServerAddress, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
    csd.VerifyCades(signature, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true);
  }
  catch (Exception ex)
  {
    throw ex;
  }
  return Convert.FromBase64String(signature);
}

Пробный запуск

Для подписания возьмем PDF-документ, который содержит надпись “Тестовое заявление.”:

Больше для теста нам ничего не надо
Больше для теста нам ничего не надо

Далее запустим программу и дождемся подписания файла:

криптопро аском

Готово. Теперь можно приступать к проверкам.

Проверка в КриптоАРМ

Время создания ЭП заполнено:

криптопро аском

Штамп времени на подпись есть:

криптопро аском

Доказательства подлинности также заполнены:

криптопро аском

В протоколе проверки есть блоки “Доказательства подлинности”, “Штамп времени на подпись” и “Время подписания”:

криптопро аском
криптопро аском
криптопро аском

Важно отметить, что серийный номер параметров сертификата принадлежит TSP-сервису http://qs.cryptopro.ru/tsp/tsp.srf

Проверка на Госуслугах

криптопро аском

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

криптопро аском

Как приобрести

Выберете подходящую версию, оформите заказ и оплатите удобным способом

«КриптоПро CSP» версии 5.0

(годовая)
1350 ₽

  • Поддерживает технологию хранения ключей: Облачный токен
  • Поддержка токенов с неизвлекаемыми ключами
  • Приложение «Инструменты КриптоПро»

«КриптоПро CSP» версии 5.0

(бессрочная)
3100 ₽

  • Поддерживает технологию хранения ключей: Облачный токен
  • Поддержка токенов с неизвлекаемыми ключами
  • Приложение «Инструменты КриптоПро»

«КриптоПро CSP» версии 4.0

(годовая)
1350 ₽

  • Поддержка токенов с неизвлекаемыми ключами
  • Приложение «Инструменты КриптоПро»

«КриптоПро CSP» версии 4.0

(бессрочная)
3100 ₽

  • Поддержка токенов с неизвлекаемыми ключами
  • Приложение «Инструменты КриптоПро»

История

КриптоПро ПО

Компания была создана в 2000-е годы и сегодня занимает одно из ключевых мест на отечественном рынке криптографии. Компания занималась изначально разработкой утилит для ПО, позволяющих сохранять конфиденциальность данных во время передачи.

К 2022 году наиболее известной программой считается КриптоПро CSP, специализирующаяся на создании электронных подписей для физических, юридических лиц и госорганов.

Где купить КриптоПро

Приобрести продукцию и актуальную лицензию КриптоПро можно в «Астрал-М». «Астрал-М» является официальным дилером продукции торговой марки КриптоПро. Этот статус даёт право на распространение, внедрение и сопровождение программ КриптоПро с круглосуточной поддержкой пользователей 24/7. Достаточно заполнить на сайте, вписав своё имя, телефон и адрес электронной почты.

Скачать КриптоПро CSP 4. 9975, 4. 9974, 4. 9969, 4. 9963, 4. 9944

Поддерживаемые операционные системы: Windows 7, Windows 8, Windows 8.1, Windows 10

Версия КриптоПроСертификацияПоддержка ГОСТ-2012ПримечаниеСсылка для скачивания
КриптоПро 4.0 R5 (4.0.9975 Euclid)Сертифиция не планируется.Поддерживает ГОСТ-2012Разработка КриптоПро CSP 4.0 прекращена! Рекомендуем начинать планирование миграции на КриптоПро CSP 5.0.Скачать КриптоПро 4.0 R5 (4.0.9975 Euclid)
Размер: 5,7 Мб
КриптоПро 4.0 R5 (4.0.9974 Diophantus)Версия промежуточная.Поддерживает ГОСТ-2012Решена проблема входа по электронной подписи на порталы в Windows 10Скачать КриптоПро 4.0 R5 (4.0.9974 Diophantus) от 30.08.2020.)
Размер: 5,7 Мб
КриптоПро 4.0 R5 (4.0.9969 Bayes)Версия промежуточная.Поддерживает ГОСТ-2012Решена проблема входа по электронной подписи на порталы в Windows 10Скачать КриптоПро 4.0 R5 (4.0.9969 Bayes)
КриптоПро 4.0 R4 (4.0.9963 Abel)Сертификаты соответствия СКЗИ Криптопро CSP 4.0.9963:

СФ/114-3610 от 10 января 2019 до 15 января 2021,

СФ/124-3611 от 10 января 2019 до 15 января 2021,
СФ/124-3612 от 10 января 2019 до 10 января 2022
СФ/114-3613 от 10 января 2019 до 15 января 2021
СФ/124-3614 от 10 января 2019 до 15 января 2021
Поддерживает ГОСТ-2012Отключен запрет на подписание с использованием ГОСТ Р 34.10-2001 в 2019 годуСкачать КриптоПро 4.0 R4 (4.0.9963 Abel)
КриптоПро 4.0 R3 (4.0.9944 Xenocrates)Сертификаты соответствия СКЗИ КриптоПро CSP 4.0.9944:

СФ/114-3379, СФ/124-3380, СФ/114-3382, СФ/124-3383
действительны от 11.05.2018 до 15.01.2021
Поддерживает ГОСТ-2012Необходимо отключение блокировки использования ГОСТ Р 34.10-2001 в 2019 годуСкачать КриптоПро 4.0 R3 (4.0.9944 Xenocrates)

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

Читайте также:  как зайти в криптопро csp

4040A-Q000K-9KAC2-9A6QR-6FCZN

4040Y-Q0000-02Q6T-NFYX9-24Z86

40400-00000-11111-101EB-G2EM0

40400-00000-11111-00NHL-372FM

40400-00000-UKAC8-00PRU-B8HE6

40400-00000-UKAC2-00QP8-MT29G

Советы эксперта

Мнение эксперта

Терехов Сергей

Эксперт по компаниям и брендам

Если нужна какая-то помощь в настройке, работе с утилитами, рекомендуем также обращать внимание на советы, публикации от других пользователей на официальном форуме –

https://www.cryptopro.ru/forum2

.

Продукты КриптоПроПравить

Средства криптографической защиты информацииПравить

  • КриптоПро CSP 1.1
  • КриптоПро CSP 2.0
  • КриптоПро CSP 2.0 Solaris
  • КриптоПро CSP 3.0
  • КриптоПро CSP 3.6
  • КриптоПро CSP 3.9
  • КриптоПро CSP 4.0
  • КриптоПро CSP 5.0[5]
  • Атликс HSM
  • КриптоПро HSM
  • КриптоПро JCP
  • КриптоПро Sharpei

Средства криптографической защиты информации со смарткартами и USB ключами

  • Магистра – CSP
  • КриптоПро Рутокен CSP
  • КриптоПро eToken CSP

Инфраструктура открытых ключейПравить

  • Удостоверяющий центр КриптоПро УЦ
  • КриптоПро TSP
  • КриптоПро OCSP
  • АРМ разбора конфликтных ситуаций
  • КриптоПро Revocation Provider
  • КриптоПро ЭЦП
  • КриптоПро PDF
  • Сервер электронной подписи КриптоПро DSS

Защита от несанкционированного доступа с использованием КриптоПро CSPПравить

  • КриптоПро TLS
  • КриптоПро Winlogon
  • КриптоПро EAP-TLS
  • КриптоПро IPSec
  • КриптоПро NGate
  • Secure Pack Rus

Программы и утилитыПравить

  • Приложение командной строки cryptcp
  • ЭЦП процессор
  • cptools – графические инструменты КриптоПро

Можно ли скачать КриптоПро бесплатно

Производитель даёт возможность бесплатно скачать, начать работу и пользоваться программой. Скачать программу можно на официальном сайте производителя СКЗИ КриптоПро CSP. Но у программы есть бесплатный тестовый период, срок действия которого составляет 3 месяца. Запустить последний раз можно через 90 дней после установки софта.

Чтобы работа продолжалась, бесплатная версия не подходит, нужно покупать лицензию. Если планируется работать с одним сертификатом с одного компьютера, потребуется годовая лицензия.

Если пользователь скачал и купил программу для работы с ЭЦП с одного компьютера, софт привязывается к конкретному устройству. Годовая электронная лицензия не подходит, если пользователь хочет использовать большее количество ЭП. Бесплатная программа тоже не подходит. Требуется продлить разрешение на применение нужного количества ЭП на одном компьютере либо выбрать бессрочный вариант.

Существуют браузерные версии в форме плагина. Это бесплатный вариант, называющийся КриптоПро ЭЦП Browser plug-in. Плагин КриптоПро скачали миллионы юзеров. Дополнение эффективно, но действует исключительно в браузере.

Также на официальном сайте КриптоПро можно скачать дополнительные программные продукты для специальных нужд — например, для того, чтобы подписывать электронные документы в формате PDF или Word, работать в системе СМЭВ и т.д.

Официальный сайт содержит актуальные версии программных продуктов КриптоПро, которые поддерживают работу с ГОСТ Р 34.10-2012.

Криптографические решения. От криптопровайдеров до браузерных плагинов

Производители средств криптографической защиты информации (СКЗИ) предлагают различные механизмы для интеграции криптосредств в информационные системы. Существуют решения, ориентированные на поддержку систем с Web-интерфейсом, мобильных и десктопных приложений, серверных компонентов. СКЗИ интегрируются в приложения Microsoft и в продукты Open Source, обеспечивают поддержку различных прикладных протоколов и форматов электронной подписи.

С учетом растущего количества проектов с применением ЭЦП и появления массовых проектов для физических лиц, разработчикам подобных проектов требуется хорошо ориентироваться в предлагаемых производителями решениях по ЭЦП для того, чтобы сделать систему удобной в эксплуатации и недорогой в плане техподдержки. Таким образом, если еще лет 5 назад главным фактором выбора криптосредства являлось его полное соответствие требованиям регуляторов, то при сегодняшнем разнообразии важными критериями могут выступать охват поддерживаемых платформ, возможность интеграции с браузером, поддержка мобильных пользователей, возможность установки без прав системного администратора и т.п.

В данном материале сделана попытка классифицировать средства криптографической защиты информации.

  • Рассмотрены в основном СКЗИ, использующиеся на клиентских местах для защиты клиент-серверных соединений по протоколу TLS, для организации ЭЦП, шифрования передаваемых данных;
  • Не рассматриваются СКЗИ, применяемые для создания VPN и шифрования файловой системы, хранимых данных, а так же УЦ;
  • Отдельно выделены аппаратные криптографические устройства.

Классификация построена на основе:

  • технологий интеграции (CryptoAPI, Active-X, NPAPI и др.), которые поддерживают СКЗИ для встраивания в приложения и прикладные системы;
  • интерфейсов, которые предоставляют СКЗИ для встраивания в приложения и прикладные системы.

Кроме того, показаны способы интеграции СКЗИ с Web-приложениями и возможность его использования на мобильных платформах

Общая схема классификации приведена в таблице:

КриптопровайдерыНативные библиотеки (openssl-style, PKCS#11, NSS, собственные интерфейсы)Локальные проксиБраузерные плагиныОблачная подписьБраузеры с российской криптографией
Почтовые клиенты с российской криптографиейРоссийская криптография в фреймворках, платформах, интерпретаторахНастольные криптографические приложенияКриптография в BIOS UEFIСервис-провайдеры ЭЦПЭмуляторы доверенной среды
Аппаратные средства

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

Так, а что надо на выходе?

А на выходе надо получить готовое решение, которое сделает отсоединенную ЭП в формате .sig со штампом времени на подпись и доказательством подлинности. Для этого зададим следующие критерии:

  1. ЭП проходит проверку на портале Госуслуг, через сервис для подтверждения подлинности ЭП формата PKCS#7 в электронных документах;

  2. КриптоАРМ после проверки подписи

    1. Заполнит поле “Время создания ЭП” – в конце проверки появится окно, где можно выбрать ЭП и кратко посмотреть ее свойства

      Стобец "Время создация ЭП"
      Стобец “Время создация ЭП”
    2. В информации о подписи и сертификате (двойной клик по записе в таблице) на вкладке “Штампы времени” в выпадающем списке есть оба значения и по ним заполнена информация:

      1. В протоколе проверки подписи есть блоки “Доказательства подлинности”, “Штамп времени на подпись” и “Время подписания”. Для сравнения: если документ подписан просто КЭП, то отчет по проверке будет достаточно коротким в сравнении с УКЭП.

    3. Контур.Крипто при проверке подписи выдаст сообщение, что совершенствованная подпись подтверждена, сертификат на момент подписания действовал и указано время создания подпись:

      Усовершенствованная подпись подтверждена
      Усовершенствованная подпись подтверждена

    О компании

    КриптоПро

    КриптоПро — это программа, а также одноименная организация, которая занимается разработкой специальных утилит для шифрования, хранения данных.

    При помощи специального программного обеспечения возможно сохранять секретность пользовательской информации, хранить ключи, использовать протоколы электронной подписи и т.д.

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

    Общество с ограниченной ответственностью «КриптоПро» существует с 2000 года. Основная деятельность ООО — разработка средств криптографической защиты информации (СКЗИ) и электронной цифровой подписи.

    Среди главных преимуществ КриптоПро выделяют:

    1

    Опыт работы компании в информационной безопасности. Программа широко распространена — бизнес обычно ставит КриптоПро в качестве стандартного софта для работы с ЭЦП

    2

    Совместимость КриптоПро с альтернативным софтом. Прочитать сертификат можно даже в том случае, если для его установки использовалось другое ПО. Компания предлагает версию КриптоПро для операционных систем Mac, Linux и Windows. Для корректного использования не нужны эмуляторы или другие дополнительные способы запуска софта

    3

    Консультации. Если пользователь ЭЦП не знает, как обращаться с софтом, можно проконсультироваться с техподдержкой криптопровайдера

    Работа системы КриптоПро высоко оценена экспертами, поэтому разработчикам криптопровайдера было вручено множество наград и сертификатов. Количество достижений расширяется. Заинтересованные пользователи могут посмотреть дополнительную информацию у производителя криптографического софта.

    Как подписать документ ЭЦП с помощью КриптоПро 5

    Для того чтобы подписать электронный документ, нужны установленные на компьютер СКЗИ Криптопро версии 5.0 и действующий сертификат электронной подписи.

    Шаг 1. Найдите в списке установленных программ приложение «Инструменты КриптоПро». Для этого в строке поиска (1) введите название приложения (2) и выберите нужное из выпавшего списка (3).

    Выберите нужное приложение

    Выберите нужное приложение

    Шаг 2.В главном окне нажмите на кнопку «Показать расширенные».

    Нажмите на кнопку «Показать расширенные»

    Шаг 3. Откроется список дополнительных разделов. В нём выберите «Создание подписи» (1). Справа откроется список сертификатов, в котором нужно выбрать вашу подпись (2). Затем нажмите на кнопку «Выбрать файл для подписи» (3).

    Нажмите на кнопку «Выбрать файл для подписи»

    Шаг 4. В открывшемся окне проводника выберите файл, который нужно подписать электронной подписью.

    Выберите файл

    Шаг 5. В строке адреса отразится путь к выбранному файлу. Убедитесь, что выбрали правильный сертификат и файл для подписи, и нажмите на кнопку «Подписать».

    Выбор путь к файлу

    Шаг 6. Если не возникло ошибок, внизу окна появится надпись «Создание подписи завершилось успехом».

    «Создание подписи завершилось успехом»

    Шаг 7. В папке, где хранится файл для подписи, появится зашифрованный файл с таким же названием, но с расшсайтирением *.P7S.

    Файл с расширением с расширением *.P7S

    КриптоПро

    Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 3 января 2017 года; проверки требуют 34 правки.

    КриптоПро — разработанная одноименной компанией линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются в других программах для генерации электронной подписи (ЭП), работы с сертификатами, организации структуры PKI и т.д.

    Браузерные плагины

    Для того, чтобы из скриптов WEB-страницы вызвать нативную библиотеку большинство браузеров поддерживают специальные расширения — ActiveX для IE и NPAPI-плагин для GH, MF, Opera, Sаfari и др. В данный момент на рынке существует широкий спектр продуктов, относящихся к браузерным плагинам. Архитектурно данные плагины могут быть исполнены по-разному. Некоторые работают на базе CryptoAPI и требуют дополнительной установки криптопровайдера, другие используют в качестве криптоядра PKCS#11-совместимые устройства и не требуют установки дополнительных СКЗИ на рабочее место клиента. Есть универсальные плагины, которые поддерживают как все основные криптопровайдеры, так и широкий спектр аппаратных СКЗИ.

    Кроссбраузерные плагины

    криптопро аском

    Спецификация
    ПлатформыСемейство Windows, GNU\Linux, OS X
    Алгоритмы и криптографические протоколыЭЦП, шифрование, хэш-функция, имитозащита, HMAC
    Интеграция с PKIX.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
    • удаление NPAPI из Chromium
    • браузеры на мобильных платформах не поддерживают плагины
    • настройки безопасности IE могут блокировать исполнение плагина

    Плюсы:

    • кроссплатформенность для плагинов на базе PKCS#11
    • кроссбраузерность
    • плагины на базе PKCS#11 не требуют установки СКЗИ
    • прозрачное использование для пользователя

    ActiveX

    Компания Microsoft разработала два основных клиентских ActiveX-компонента, которые транслируют функционал CryptoAPI в скрипты, в браузер.
    Для генерации ключа и создания PKCS#10-запроса применятся компонент XEnroll/CertEnroll, а для ЭЦП/шифрования и работы с сертификатами компонент CAPICOM.

    криптопро аском

    В следующих статьях будут подробно рассмотрены оставшиеся решения.

    ПримечанияПравить

    1. Руководство пользователя Системы Интернет-платежей Сбербанка России Архивная копия от 21 сентября 2004 на Wayback Machine(pdf)
    2. Требования к аппаратно-программному Обеспечению Клиента для работы ПО АС «Банк-Клиент» (BSS). Приложение № 1 (недоступная ссылка)(doc)
    3. Старт проекта Универсальная электронная карта – YouTube. Дата обращения: 26 марта 2013. Архивировано 30 июня 2014 года.
    4. Сертификаты ФСБ на продукты КриптоПро. Дата обращения: 14 сентября 2010. Архивировано 19 сентября 2010 года.
    5. СКЗИ КриптоПро CSP 5.0. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
    6. Лицензионное соглашение с ООО “КРИПТО-ПРО” Архивная копия от 14 января 2018 на Wayback Machine
    7. КриптоПро – Поддержка ОС, аппратных платформ и отделяемых носителей. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
    8. Инструменты КриптоПро – кроссплатформенный графический интерфейс. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
    Читайте также:  visual-studio - Как создать работающий доверенный и / или самозаверяющий сертификат для приложения Windows 10 UWP с помощью Visual Studio 2019, 2017 и 2015 -

    Служба поддержки КриптоПро

    КриптоПро siteНаписать обращение в службу поддержки можно на сайте – https://support.cryptopro.ru. Задавайте вопросы, делитесь впечатлениями, оставляйте пожелания.

    Также получить ответы на вопросы, пользователи смогут следующим образом:

    • отправив письмо – info@cryptopro.ru (общие темы);
    • оставив сообщение через Telegram Bot – https://t.me/CryptoProAssistantBot;
    • написав комментарий в Youtube – https://www.youtube.com/CryptoProOfficial.

    Ссылки на публичные источники

    [1] CMS Advanced Electronic Signatures (CAdES) – https://tools.ietf.org/html/rfc5126#ref-ISO7498-2

    [2] Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) – https://www.ietf.org/rfc/rfc3161.txt

    [3] X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP – https://tools.ietf.org/html/rfc2560

    [4] Усовершенствованная квалифицированная подпись — Удостоверяющий центр СКБ Контур (kontur.ru)

    [5] Поддержка .NET Core (cryptopro.ru)

    [6] http://qs.cryptopro.ru/tsp/tsp.srf – TSP-сервис КриптоПро

    UPD1: Поменял в коде переменную, куда записываются байты файла подписи.

    Также я забыл написать немного про подпись штампа времени – он подписывается сертификатом владельца TSP-сервиса. По гайду это ООО “КРИПТО-ПРО”:

    криптопро аском

    UPD2: Про библиотеки CAdESCOM и CAPICOM

    В ответ @kotov_a и @mayorovp– Все верно: для .NET Core 3.1 сборки System.Security.Cryptography.Pkcs.dll и System.Security.Cryptography.Xml.dll подменяются, так как поддержка этих алгоритмов в бета тестировании [5], а для .NET Framework 4.8 используется CryptoPro.Sharpei – он был перенесен в состав КриптоПро .NET. Последний, судя по информации с портала документации, работает только с .NET Framework.

    Если создать пустой проект на .NET Core 3.1, подключив непропатченные библиотеки, то при обращении к закрытому ключу выпадет исключение “System.NotSupportedException” c сообщением “The certificate key algorithm is not supported.”:

    .NET Core 3.1 - Исключение без пропатченных библиотек
    .NET Core 3.1 – Исключение без пропатченных библиотек
    <TargetFramework>netcoreapp3.1</TargetFramework>
    ...
    <ItemGroup>
      <COMReference Include="CAdESCOM">
        <WrapperTool>tlbimp</WrapperTool>
        <VersionMinor>0</VersionMinor>
        <VersionMajor>1</VersionMajor>
        <Guid>e00b169c-ae7f-45d5-9c56-672e2b8942e0</Guid>
        <Lcid>0</Lcid>
        <Isolated>false</Isolated>
        <EmbedInteropTypes>true</EmbedInteropTypes>
      </COMReference>
      <COMReference Include="CAPICOM">
        <WrapperTool>tlbimp</WrapperTool>
        <VersionMinor>1</VersionMinor>
        <VersionMajor>2</VersionMajor>
        <Guid>bd26b198-ee42-4725-9b23-afa912434229</Guid>
        <Lcid>0</Lcid>
        <Isolated>false</Isolated>
        <EmbedInteropTypes>true</EmbedInteropTypes>
      </COMReference>
    </ItemGroup>
    ...

    Но при использовании пропатченных библиотек это исключение не выпадает и с приватным ключем можно взаимодействовать:

    криптопро аском
    <TargetFramework>netcoreapp3.1</TargetFramework>
    ...
    <ItemGroup>
      <Reference Include="System.Security.Cryptography.Pkcs">
        <HintPath>.\corefx\artifacts\bin\runtime\netcoreapp-Windows_NT-Debug-x64\System.Security.Cryptography.Pkcs.dll</HintPath>
      </Reference>
      <Reference Include="System.Security.Cryptography.Xml">
        <HintPath>.\corefx\artifacts\bin\runtime\netcoreapp-Windows_NT-Debug-x64\System.Security.Cryptography.Xml.dll</HintPath>
      </Reference>
    </ItemGroup>
    ...

    Также код из гайда работает с .NET Framework 4.8 без использования пропатченных библиотек, но вместо обращения к пространству имен “System.Security.Cryptography”, которое подменяется пропатченными библиотеками для .NET Core, CSP Gost3410_2012_256CryptoServiceProvider будет использован из пространства имен “CryptoPro.Sharpei”:

    криптопро аском
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
    ...
    <ItemGroup>
        <COMReference Include="CAdESCOM">
          <Guid>{E00B169C-AE7F-45D5-9C56-672E2B8942E0}</Guid>
          <VersionMajor>1</VersionMajor>
          <VersionMinor>0</VersionMinor>
          <Lcid>0</Lcid>
          <WrapperTool>tlbimp</WrapperTool>
          <Isolated>False</Isolated>
          <EmbedInteropTypes>True</EmbedInteropTypes>
        </COMReference>
        <COMReference Include="CAPICOM">
          <Guid>{BD26B198-EE42-4725-9B23-AFA912434229}</Guid>
          <VersionMajor>2</VersionMajor>
          <VersionMinor>1</VersionMinor>
          <Lcid>0</Lcid>
          <WrapperTool>tlbimp</WrapperTool>
          <Isolated>False</Isolated>
          <EmbedInteropTypes>True</EmbedInteropTypes>
        </COMReference>
        <COMReference Include="CERTENROLLLib">
          <Guid>{728AB348-217D-11DA-B2A4-000E7BBB2B09}</Guid>
          <VersionMajor>1</VersionMajor>
          <VersionMinor>0</VersionMinor>
          <Lcid>0</Lcid>
          <WrapperTool>tlbimp</WrapperTool>
          <Isolated>False</Isolated>
          <EmbedInteropTypes>True</EmbedInteropTypes>
        </COMReference>
      </ItemGroup>
    ...

    Что имеем на входе?

    1. КриптоПро CSP версии 5.0 – для поддержки Российских криптографических алгоритмов (подписи, которые выпустили в аккредитованном УЦ в РФ)

    2. КриптоПро TSP Client 2.0 – нужен для штампа времени

    3. КриптоПро OCSP Client 2.0 – проверит не отозван ли сертификат на момент подписания

    4. КриптоПро .NET Client – таков путь

    5. Любой сервис по проверке ЭП – я использовал Контур.Крипто как основной сервис для проверки ЭП и КриптоАРМ как локальный. А еще можно проверить ЭП на сайте Госуслуг

    6. КЭП по ГОСТ Р 34.11-2012/34.10-2012 256 bit, которую выпустил любой удостоверяющий центр

    Лицензирование ПО и версии
    1. КриптоПро CSP версии 5.0 – у меня установлена версия 5.0.11944 КС1, лицензия встроена в ЭП.

    2. КриптоПро TSP Client 2.0 и КриптоПро OCSP Client 2.0 – лицензии покупается отдельно, а для гайда мне хватило демонстрационного срока.

    3. КриптоПро .NET Client версии 1.0.7132.2 – в рамках этого гайда я использовал демонстрационную версию клиентской части и все действия выполнялись локально. Лицензию на сервер нужно покупать отдельно.

    4. Контур.Крипто бесплатен, но требует регистрации. В нем также можно подписать документы КЭП, УКЭП и проверить созданную подпись загрузив ее файлы.

    Нативные библиотеки

    OpenSSL-style

    Open Source библиотека OpenSSL обладает широкими криптографическими возможностями и удобным механизмом ее расширения другими криптоалгоритмами. OpenSSL является основным криптоядром для широкого спектра приложений Open Source.

    После того, как в эту библиотеку компанией Криптоком были добавлены ГОСТы, появились патчи для «гостификации» многих популярных приложения, использующих OpenSSL. На базе OpenSSL некоторые вендоры разработали и сертифицировали СКЗИ, кроме того в ряд продуктов OpenSSL входит «неявным» образом.

    криптопро аском

    СпецификацияOpenSSL API — один из де-факто стандартов для СПО
    ПлатформыСемейство Windows, GNU\Linux, OS X, iOS, Android
    Алгоритмы и криптографические протоколыЭЦП, шифрование, хэш-функция, имитозащита, HMAC, VKO;
    TLS
    Интеграция с PKIX.509, PKCS#10, CMS, CRL, OCSP, TSP
    Механизмы ЭЦПНативный программный интерфейс, Си-style;
    Механизмы аутентификацииклиентская аутентификация в рамках TLS
    собственные механизмы на базе ЭЦП случайных данных
    Механизмы “гостирования” TLSTLS с российской криптографией поддержан в библиотеке (в случае использования OpenSSL в качестве браузерного криптодвижка)
    TLS-прокси на базе OpenSSL (например, sTunnel)
    Форматы защищенных сообщенийPKCS#7, CMS, XMLSec (при использовании с библиотекой www.aleksey.com/xmlsec, в том числе ГОСТ), S/MIME
    Интеграция с браузеромЧерез TLS-прокси
    Через проприетарные плагины
    В Chromium OpenSSL один из возможных криптодвижков
    Интеграция со службой каталоговOpenLDAP
    Мобильные платформыiOS, Android
    Команднострочная утилитаЕсть
    Хранилища ключейФайлы, USB-токены
    Взаимодействие с USB-токенамиХранилище ключей и сертификатов
    Использование аппаратной реализации алгоритмов
    Через PKCS#11
    ПриложенияOpenVPN, Apache, sTunnel, Nginx, Postgre SQL, postfix, dovecot
    Проприетарные приложения
    Интеграция с фреймворкамиOpenSSL интегрирован в большое количество фреймворков (PHP, Python, .NET и др.), но ГОСТа нет. Требуется выпускать патчи к фреймворкам
    ИнсталляцияПрограмма установки, в целом не требуются права системного администратора
    Копирование
    Запуск использующих rкриптосредства приложений с FLASH-памяти USB-токена
    Примеры (ГОСТ)МагПро КриптоПакет
    ЛирССЛ
    OpenSSL (несерт.)
    OpenSSL + engine PKCS11_GOST + Рутокен ЭЦП

    Проблемы:

    • OpenSSL и его аналоги не поддерживается приложениями Microsoft;
    • Необходимость патчить СПО, которое поддерживает OpenSSL, для включения ГОСТов.

    Плюсы:

    • Кроссплатформенность;
    • Использование в огромном количестве проектов, открытые исходники большей части проекта — выявление и устранение уязвимостей (как пример, недавнее выявление heartbleed);
    • Распространяется копированием — можно делать приложения, не требующие инсталляции;
    • Широкий охват приложений СПО, на базе которых можно делать защищенные сертифицированные продукты;
    • Широкая интеграция в фреймворки, но при этом проблемы с ГОСТами.

    PKCS#11

    Библиотека PKCS#11 предоставляет универсальный кроссплатформенный программный интерфейс к USB-токенам и смарт-картам.

    Функции делятся на:

    • Функции доступа к устройству;
    • Функции записи/чтения произвольных данных;
    • Функции работы с ключами (поиск, создание, удаление, импорт, экспорт);
    • Функции работы с сертификатами (поиск, импорт, экспорт);
    • Функции ЭЦП;
    • Функции хэширования;
    • Функции шифрования;
    • Функции вычисления имитовставки;
    • Функции выработки ключа согласования (Диффи-Хeллман);
    • Функции экспорта/импорта сессионного ключа;

    Таким образом, стандарт 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.

    NSS

    NSS представляет собой криптографическую библиотеку от сообщества Mozilla. NSS используется такими приложениями, как браузер Mozilla Firefox, почтовым клиентом Mozilla Thunderbird.

    В данный момент существуют два проекта по «гостификации» NSS:

    • Компания Лисси периодически публикует на своем сайте доступные для скачивания актуальные версии Mozilla Firefox и Mozilla Thunderbird, пересобранные с поддержкой российской криптографии. Кроме того, существует ряд продуктов этой компании, построенный на базе модифицированной библиотеки NSS — высокоуровневая библиотека NSSCryptoWrapper, плагин LCSignPlugin, десктопное приложение для ЭЦП под Android SignMaker-A.
      Следует отметить, что модифицированный специалистами этой компании NSS позволяет использовать как программные PKCS#11-токены, так и аппаратные (Рутокен ЭЦП, eToken ГОСТ, JaCarta ГОСТ, MS_KEY).
    • Atoken — это open source проект компании R-Альфа. В рамках проекта создан программный PKCS#11-токен с российской криптографией и выложены патчи для определенной версии NSS и компонента Security Manаger, позволяющие использовать в продуктах Mozilla россиийскую криптографию (TLS, ЭЦП, PKI). Кроме того R-Альфа предлагает реализацию программного PKCS#11-токена с поддержкой сертифицированной библиотеки Агава-С под названием Агава-Про.

    Библиотеки c собственным интерфейсом

    Проприетарные библиотеки предоставляют собственный API для встраивания в приложения. В данный список можно внести:

    • Агава-С
    • Крипто-C
    • Крипто-КОМ

    Как работает КриптоПро

    Первым делом пользователь устанавливает КриптоПро на компьютер, чтобы пользоваться подписью. Программа обращается к сертификату на ПК, флешке, токенах или других носителях, потом завершает работу установкой подписи на документе.
    Электронная подпись не может корректно функционировать в условиях отсутствия закрытого ключа. Поэтому корректное использование КриптоПро заключается в том, что софт сначала проверяет сертификат, потом подтверждает, и только последняя стадия — шифровка и отправка документа.

    Главные функции КриптоПро

    1

    Защита информации. Для сохранности ЭЦП её надо правильно зашифровать. С последней задачей корректно справляется указанный софт. Последний релиз добавил множество полезных функций относительно степени защиты информации. Такие вещи, как хэширование и имитозащита, существовали и в старых версиях. Тестирования, проведённыенезависимыми экспертами, показывают хороший результат

    2

    Создание ключей шифрования. Допускается использование разных типов носителей

    3

    Форммирование ПИН-кода. Эта функция используется, чтобы усложнить работу злоумышленнику и обеспечить пользователя дополнительной защитой

    4

    Защита информации от случайных или преднамеренных потерь. Последние версии КриптоПро показали надёжность софта

    5

    Защита от вредоносного кода, а также целенаправленного взлома

    Кому нужна программа КриптоПро

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

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

    Сферы работы с электронным сертификатом со временем будут только увеличиваться.

    Выводы

    Чтобы получить бесплатную версию программы КриптоПро, достаточно зайти на официальный сайт производителя и скачать пробную версию. Но для бизнеса этот электронный вариант для обработки ЭЦП почти полностью бесполезен, так как пробная версия работает всего 90 дней. Чтобы постоянно работать с КриптоПро, нужна платная версия программы.

    Для покупки можно использовать последний представленный на рынке вариант версии программы.

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

    Оцените статью
    ЭЦП Эксперт
    Добавить комментарий