КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

Время на прочтение


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

Содержание
  1. Важное вступление
  2. Делимся инсайтами
  3. Статусы от партнеров
  4. Общие сведения
  5. Сценарии использования
  6. Лицензирование
  7. Системные требования
  8. Сертификаты
  9. Предварительные версии КриптоПро. N ET 2. 0 для. N ET Core доступны на нашем github
  10. Криптопровайдер КриптоПро CSP 3. 6 R2
  11. КриптоПро Office Signature
  12. ПАК «КриптоПро УЦ»
  13. Локальные прокси
  14. Что имеем на входе?
  15. Done.
  16. Запросить счет для юридического лица
  17. Запрос успешно отправлен
  18. Криптопровайдеры
  19. Браузерные плагины
  20. Кроссбраузерные плагины
  21. ActiveX
  22. Криптографические решения. От криптопровайдеров до браузерных плагинов
  23. Соберем проект с поддержкой ГОСТ Р 34. 11-2012 256 bit
  24. Первым делом создадим новую папку
  25. I — Сборка проекта без сборки corefx для Windows
  26. Так, а что надо на выходе?
  27. Нативные библиотеки
  28. PKCS#11
  29. NSS
  30. Библиотеки c собственным интерфейсом
  31. Немного покодим
  32. Пробный запуск
  33. Проверка в КриптоАРМ
  34. Проверка на Госуслугах
  35. Проверка в Контур. Крипто
  36. Это вообще законно?

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

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

Делимся инсайтами

Уникальные IT-практики, кейсы, обзоры и экспертные мнения

Статусы от партнеров


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

Лицензия КриптоПро. N ET на одно рабочее место, бессрочная

Если нужна лицензия на КРИПТОПРО CSP

Доставка через на электронную почту

Важно: для работы на сервере требуется приобретение серверной лицензии на КриптоПро. NET

КриптоПро . NET — программный продукт, позволяющий использовать средство криптографической защиты информации (СКЗИ) КриптоПро CSP на платформе Microsoft . NET Framework. КриптоПро . NET реализует набор интерфейсов для доступа к криптографическим операциям . NET Cryptographic Provider:

Кроме того КриптоПро . NET позволяет использовать стандартные классы Microsoft для высокоуровневых операций:

КриптоПро . NET обеспечивает применение всех алгоритмов, реализуемых КриптоПро CSP.

КриптоПро . NET функционирует на платформах Microsoft Windows XP/Vista/7/8/8.1 под управлением Microsoft NET Framework 2.0 и выше (3.0, 3.5, 4.0) и требует установленного КриптоПро CSP версии 4.0 и выше.

Общие сведения

КриптоПро . NET — программный продукт, позволяющий использовать средство криптографической защиты информации (СКЗИ) КриптоПро CSP на платформе Microsoft . NET Framework. КриптоПро . NET является новой версией существовавшего ранее программного продукта КриптоПро Sharpei и реализует набор интерфейсов для доступа к криптографическим операциям . NET Cryptographic Provider:

Кроме того КриптоПро . NET позволяет использовать стандартные классы Microsoft для высокоуровневых операций:

КриптоПро . NET состоит из двух частей:

КриптоПро . NET обеспечивает применение всех алгоритмов, реализуемых КриптоПро CSP.

Сценарии использования

Документация на КриптоПро . NET SDK включена в дистрибутив и доступна на портале для разработчиков cpdn.

Вопросы встраивания и использования можно обсудить на форуме.

Лицензирование

Существует два вида лицензий КриптоПро . NET:

КриптоПро . NET SDK распространяется на бесплатной основе в составе КриптоПро SDK.

Системные требования

КриптоПро . NET функционирует на платформах Microsoft Windows 2000 и выше (x86 и x64) под управлением Microsoft . NET Framework 2.0 и выше и требует установленного КриптоПро CSP версии 2.0 и выше.

Для КриптоПро . NET SDK требуется наличие на компьютере установленного КриптоПро . NET.

Сертификаты

КриптоПро . NET использует сертифицированное ФСБ России средство криптографической защиты КриптоПро CSP.

Загрузить «КриптоПро . NET»

Заказать «КриптоПро . NET»

Предварительные версии КриптоПро. N ET 2. 0 для. N ET Core доступны на нашем github

Предупреждение. Срок использования КриптоПро . NET ограничен 90 днями с момента установки. Для дальнейшей эксплуатации необходимо получить лицензию на использование продукта в ООО «КРИПТО-ПРО» или у официального дилера.

Компания КРИПТО-ПРО создана в 2000 году и сейчас является лидером по распространению СКЗИ и ЭЦП в России. Наиболее известным продуктом компании является криптопровайдер КриптоПро СSP, разработанный в 2000 году по техническому заданию, согласованному с ФАПСИ. На текущий момент актуальной версией криптопровайдера является КриптоПро CSP 3.6, имеющая сертификат соответствия ФСБ.

Компания КРИПТО-ПРО сегодня занимается не только разработкой криптографического программного обеспечения, но и оказывает консалтинговые услуги по применению ЭЦП, услуги удостоверяющего центра ( УЦ КриптоПро). Компания также оказывает квалифицированную техническую экспертизу электронной цифровой подписи в судах всех инстанций.

На наиболее известных программных продуктах компании КРИПТО-ПРО мы остановимся подробнее.

Криптопровайдер КриптоПро CSP 3. 6 R2

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

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

Вышеперечисленные продукты вы можете приобрести в нашем интернет-магазине:

КриптоПро Office Signature

КриптоПро Office Signature — это продукт компании КриптоПро, предназначенный для электронной подписи и проверки подписей в документах Microsoft Word и Excel, прямо из интерфейса офисных программ. Для использования необходим установленный криптопровайдер КриптоПро CSP.

КриптоПро . NET — программный продукт, позволяющий использовать КриптоПро CSP на платформе Microsoft . NET Framework. КриптоПро . NET является новой версией КриптоПро Sharpei (более не разрабатываемого и не поддерживаемого) и реализует набор интерфейсов для доступа к криптографическим операциям . NET Cryptographic Provider:

ПАК «КриптоПро УЦ»

Компания КРИПТО-ПРО является разработчиком и поставщиком программно-аппаратного комплекса «Удостоверяющий Центр «КриптоПро УЦ» (ПАК «КриптоПро УЦ»), обеспечивающего автоматизацию целевых функций Удостоверяющего центра.

Удостоверяющий центр — это организационный элемент АИС, обеспечивающий изготовление сертификатов открытых ключей и управление (аннулирование, приостановление, возобновление) ими, а также выполняющий иные функции, установленные законодательством Российской Федерации.

ПАК «КриптоПро УЦ» предназначен для выполнения организационно-технических мероприятий по обеспечению участников АИС средствами применения электронной цифровой подписи (электронной подписи) в целях:

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

Лицензирование ПО и версииКриптоПро CSP версии 5.0 — у меня установлена версия 5.0.11944 КС1, лицензия встроена в ЭП. КриптоПро TSP Client 2.0 и КриптоПро OCSP Client 2.0 — лицензии покупается отдельно, а для гайда мне хватило демонстрационного срока. КриптоПро . NET Client версии 1.0.7132.2 — в рамках этого гайда я использовал демонстрационную версию клиентской части и все действия выполнялись локально. Лицензию на сервер нужно покупать отдельно. Контур. Крипто бесплатен, но требует регистрации. В нем также можно подписать документы КЭП, УКЭП и проверить созданную подпись загрузив ее файлы.

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

. NET Core 3.1 — Исключение без пропатченных библиотек

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

Done.

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

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

Запросить счет для юридического лица

Отправляя данную форму, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности.

Запрос успешно отправлен

На указанный e-mail придет письмо с информацией о стоимости товара.

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

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

ActiveX

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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.

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

PKCS#11 бывают также без поддержки аппаратных устройств с программной реализацией криптоалгоритмов и хранением объектов в файловой системе.

Примеры – PKCS#11 интегрированный в NSS (Mozilla), проект aToken, библиотека Агава-Про.

У компании Крипто-Про есть библиотека PKCS#11, реализованная на базе MS CryptoAPI:

Существуют PKCS#11-библиотеки для мобильных платоформ. Примером подобной библиотеки служит библиотека для Рутокен ЭЦП Bluetooth, которая позволяет использовать устройство на iOS и Android.

NSS

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

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

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

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

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

Потребуется 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 этапа:

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

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

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

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

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


КРИПТОПРО NET ЧТО ЭТО ТАКОЕ

Это вообще законно?

С удовольствием узнаю ваше мнение в комментариях.

ЭЦП:  МАРКИРОВКА ШИН И АВТОМОБИЛЬНЫХ ПОКРЫШЕК
Оцените статью
ЭЦП64