Флагманским продуктом нашей компании является Рутокен ЭCPU – устройство с русской криптографией «на борту».
Для интеграции устройства с браузерами выпущено Плагин Рутокен .
Демо-версию возможностей плагина можно посмотреть на сайте испытательные площадки .
Некоторые из них предполагают работу с цифровыми сертификатами, хранящимися на устройствах.
Например, Демо-банк При регистрации пользователей выдает сертификат пользователя, а при входе в систему запрашивает и проверяет его.
Для реализации этих задач на сервере используется библиотека BouncyCastle.
В данной статье будут рассмотрены примеры его использования для выдачи сертификатов по запросу PKCS#10, а также для проверки подписи CMS, созданной с использованием российских криптографических алгоритмов.
Наш «центр сертификации» основан на библиотеке BouncyCastle. Следует отметить, что на сайте jumpycastle.org/csharp/ Есть устаревшая версия библиотеки, которая не работала в решении без исправлений.
Рабочую версию можно найти на Github — https://github.com/bcgit/bc-csharp .
Также есть тесты с кучей вариантов использования библиотеки для различных нужд. Всего этого нам нужно не так уж и много: — Работа с запросами PKCS#10. — Выдача сертификатов на основании данных запроса Если есть необходимость организовать вход на сайт по сертификату, мы реализуем другой алгоритм, о нем ниже.
Корневой сертификат может быть сгенерирован библиотекой и использован в будущем.
Он у нас уже есть в формате PEM. Также есть приватный ключ.
Клиент
В нашей системе сервер IIS с веб-API ASP.NET обращается к внешнему миру с помощью метода, который выдает сертификат по запросу PKCS#10. На клиенте, то есть на самих демо-сайтах, стоит приложение, работающее на AngularJs, работающее с плагин .Конечно, написать клиент можно на чём угодно, но суть работы на стороне клиента сводится к следующему: — мы передаем данные поля в функцию плагина createPkcs10 для генерации запроса PKCS#10 и получаем текст запроса.
— текст запроса PKCS#10 отправляется в виде пост-запроса в метод API, получаем сертификат или ошибку, если невозможно выдать сертификат. — передаем полученный сертификат в функцию плагина importCertificate и импортируем его на устройство.
Рабочая версия сайта с возможностью управления сертификатами на устройствах Рутокен? ЦП теперь крутится здесь - http://ra.rutoken.ru .
Вы можете создать ключ и сделать запрос с необходимыми полями.
Затем выпишите тестовый сертификат, который будет импортирован в токен.
! Для работы необходимо установить плагин и подключить РутокенЭЦП!
Сервер
Но вернемся к серверной части.Итак, у нас есть корневой сертификат в формате PEM и приватный ключ к нему.
Сертификат пользователя выдадим по запросу PKCS#10. Сам запрос от клиента также приходит в текстовом виде, в формате PEM. Теги: #Криптография #BouncyCastle #rutoken #rutoken #Плагин Рутокен #pkcs10 #информационная безопасность #Криптография #.
NET
-
Новая Эра Покупателя
19 Oct, 24 -
Женевская Школа
19 Oct, 24 -
За Пределами Спроса На Ключевые Слова
19 Oct, 24 -
Арифметическое Кодирование
19 Oct, 24 -
Выпуск Netbeans 7.3 (Перевод)
19 Oct, 24