В криптопротоколе x509 используется код X 509

В криптопротоколе x509 используется код X 509 Электронная цифровая подпись

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

Обновлено 11.09.2018

Добрый день! Уважаемые читатели и гости крупнейшего IT блога в России pyatilistnik.org. В прошлый раз мы разбирали ситуацию, что утилита КриптоПРО не видела токен Jacarta, согласитесь, что при решении этой проблемы было бы здорово иметь тестовый ключ с сертификатом, и параллельно ваш коллега мог бы тоже траблшутить. Еще тестовый сертификат CryptoPRO может быть полезен, при процедуре переноса контейнера КриптоПРО из реестра в случае с не экспортируемым закрытым ключом. Сегодня я вас научу генерировать нормальный, тестовый сертификат шифрования или подписи для разных задачу.

Содержание
  1. Оглавление
  2. Введение
  3. Как вызывается Revocation Provider
  4. Как работает Revocation Provider
  5. Использование КриптоПро CSP в ПО Microsoft
  6. Встраивание КриптоПро CSP в приложения
  7. Цели использования криптографических функций
  8. Использование CryptoAPI
  9. Базовые криптографические функции
  10. Функции кодирования/декодирования
  11. Функции работы со справочниками сертификатов
  12. Высокоуровневые функции обработки криптографических сообщений
  13. Низкоуровневые функции обработки криптографических сообщений
  14. Использование SSPI
  15. Инструментарий разработчика CAPICOM
  16. Инструментарий разработчика КриптоПро CSP SDK
  17. Certificates
  18. Integration
  19. Portability
  20. Implementation of CryptoPro CSP
  21. Implementation at the Crypto API 2. 0 Level
  22. Implementation at the CSP Level
  23. Using Com Interfaces
  24. Certificate Enrollment Control
  25. CAPICOM 2
  26. Certificate Services
  27. Using TLS Protocol in Application Software
  28. Sample Applications of Cryptographic Security Tools
  29. Ссылки
  30. Как привязать электронную подпись стороннего УЦ к системе сдачи отчетности
  31. Установка КриптоПро ЭЦП Browser plug-in.
  32. Генерация тестового сертификата
  33. Сертификаты
  34. Список установленных сертификатов
  35. Добавление реального сертификата
  36. Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
  37. Способ с дискетой или флешкой
  38. С жесткого диска
  39. Проверка успешности установки закрытого ключа
  40. Добавление тестового сертификата
  41. Удаление сертификата
  42. Проверка сертификата
  43. Просмотр всех атрибутов сертификата
  44. Экспорт сертификатов на другую машину
  45. Features
  46. Корневые сертификаты
  47. Инструкция по копированию сертификата из контейнера КриптоПро
  48. 5 ответов
  49. Добавить комментарий
  50. Открытый ключ ЭЦП
  51. Закрытый ключ ЭЦП
  52. Как найти и выгрузить ключи на компьютер?
  53. Проверка подписи ЭЦП
  54. Подписание документа ЭЦП
  55. Совместимые реализации X. 509 и CMS с использованием российских алгоритмов
  56. Современное состояние российской нормативной базы в области совместимости реализаций X. 509 и CMS

Оглавление

  • Современное состояние российской нормативной базы в области совместимости реализаций X.509 и CMS
  • Совместимые реализации X.509 и CMS с использованием российских алгоритмов
  • Ссылки

Введение

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

Иногда для регистрации на каком-либо портале требуется загрузить файл сертификата в формате *.cerНо где найти этот файл мало кто знает.

Ваш сертификат находится в контейнере КриптоПро, который записан на USB-токен, флешку или в реестр.Чтобы его оттуда извлечь необходимо провести ряд несложных действий! Далее инструкция на примере КриптоПро 4.0.

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

Данная инструкция отвечает на следующие вопросы:

  • где найти сертификат эцп на компьютере
  • где хранятся сертификаты криптопро на компьютере
  • как сохранить сертификат эцп на компьютер криптопро
  • как сохранить сертификат эцп на компьютер в формате cer
  • как сохранить сертификат эцп на компьютер из реестра
  • как отправить сертификат эцп по электронной почте
  • как сохранить сертификат с рутокена на компьютер
  • как сохранить открытый ключ эцп
  • как сохранить открытый сертификат ключа
  • как выгрузить сертификат эцп на рабочий стол
  • как выгрузить сертификат из криптопро
  • как выгрузить сертификат в формате cer
  • как выгрузить сертификат с рутокена на компьютер
  • как выгрузить сертификат эцп

Для этого необходимо проделать следующие действия:
• Выбрать меню «Пуск» / «Панель управления» / «КриптоПро CSP». Перейти на вкладку «Сервис» и нажать на кнопку «Просмотреть сертификаты в контейнере» (см. рис. 1).

Рис. 1. Окно «Свойства КриптоПро CSP».

• В открывшемся окне нажать на кнопку «Обзор», чтобы выбрать контейнер для просмотра. После выбора контейнера нажать на кнопку «Ок» (см. рис. 2).

Рис. 2. Окно выбора контейнера для просмотра.

• В следующем окне кликнуть по кнопке «Далее».
• В окне «Сертификат для установки» необходимо нажать кнопку «Свойства» (см. рис. 3).

Рис. 3. Окно просмотра сертификата

• В открывшемся файле сертификата следует перейти на вкладку «Состав» и нажать кнопку «Копировать в файл» (см. рис. 4).

Рис. 4. Вкладка «Состав».

• В открывшемся окне «Мастер экспорта сертификатов» нажать на кнопку «Далее». Затем отметить пункт «Нет, не экспортировать закрытый ключ» и выбрать «Далее» (см. рис. 5).

Рис. 5. Параметры экспорта закрытого ключа.

• В окне «Формат экспортируемого файла» выбрать «Файлы X.509 (.CER) в кодировке DER» и нажать на кнопку «Далее» (см. рис. 6).

Рис. 6. Формат экспортируемого файла.

• В следующем окне необходимо кликнуть по кнопке «Обзор», вручную указать имя (ФИО владельца сертификата) и каталог для сохранения файла. Затем нажать на кнопку «Сохранить» (см. рис. 7).

Рис. 7. Сохранение файла.

• В следующем окне нажать на кнопку «Далее», затем «Готово». Дождаться сообщения об успешном экспорте. Закрыть все окна программы КриптоПро.


Offline

lifayk

 

Оставлено
:

14 августа 2021 г. 14:33:58(UTC)

Здравствуйте.

Пытаюсь сгенерировать и загрузить пару RSA+сертификат в КриптоПРО 4.
Получаю ошибку:
Invalid flags specified.
[ErrorCode: 0x80090009]

Подскажите, пожалуйста, что я делаю не так?

Код:

$ ./test.sh
+ dpkg -l
+ grep cpro
ii  cprocsp-cpopenssl-64                       4.0.9963-5                                 amd64        OpenSSL. Build 9963.
ii  cprocsp-cpopenssl-base                     4.0.9963-5                                 all          Openssl common Build 9963.
ii  cprocsp-cpopenssl-devel                    4.0.9963-5                                 all          Openssl devel Build 9963.
ii  cprocsp-curl-64                            4.0.9963-5                                 amd64        CryptoPro Curl shared library and binaris. Build 9963.
ii  cprocsp-rsa-64                             4.0.9963-5                                 amd64        CryptoPro RSA CSP. Build 9963.
ii  cprocsp-stunnel-64                         4.0.9963-5                                 amd64        Universal SSL/TLS tunnel.
ii  lsb-cprocsp-base                           4.0.9963-5                                 all          CryptoPro CSP directories and scripts. Build 9963.
ii  lsb-cprocsp-ca-certs                       4.0.9963-5                                 all          CA certificates.  Build 9963.
ii  lsb-cprocsp-capilite-64                    4.0.9963-5                                 amd64        CryptoAPI lite. Build 9963.
ii  lsb-cprocsp-kc1-64                         4.0.9963-5                                 amd64        CryptoPro CSP KC1. Build 9963.
ii  lsb-cprocsp-rdr-64                         4.0.9963-5                                 amd64        CryptoPro CSP readers. Build 9963.
+ /opt/cprocsp/cp-openssl/bin/amd64/openssl version
OpenSSL 1.0.2k  26 Jan 2017
+ /opt/cprocsp/cp-openssl/bin/amd64/openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days 365 -nodes -subj /C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com
Generating a 1024 bit RSA private key
..............++++++
........++++++
writing new private key to 'key.pem'
-----
+ /opt/cprocsp/cp-openssl/bin/amd64/openssl pkcs12 -export -inkey key.pem -in cert.pem -out testpfx.pfx -nodes -passout pass:123
+ /opt/cprocsp/cp-openssl/bin/amd64/openssl pkcs12 -info -in testpfx.pfx -noout -passin pass:123
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
+ /opt/cprocsp/bin/amd64/certmgr -inst -pfx -file testpfx.pfx -pin 123
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores

Error while importing pfx

Invalid flags specified.
[ErrorCode: 0x80090009]
+ tail -3 /var/log/syslog
Aug 14 14:30:01 farm1 certmgr: capi20: pfx_ImportPrivateKey () pfx - pfx_PasswordDeriveEncryptKeyFromAlgIdentifier failed
Aug 14 14:30:01 farm1 certmgr: capi20: pfx_CreatePrivateKeyContext () pfx - pfx_ImportPrivateKey failed
Aug 14 14:30:01 farm1 certmgr: capi20: PFXImportCertStore () pfx - pfx_CreatePrivateKeyContext failed


Offline

Андрей Русев

 

Оставлено
:

27 августа 2021 г. 21:00:47(UTC)

Здравствуйте.
В КриптоПро CSP 4.0 крайне ограниченная поддержка RSA. Попробуйте КриптоПро CSP 5.0 R2 Kraken (build 5.0.12000).

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

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

В ОС Microsoft Windows встроена поддержка технологии ИОК. Многие приложения, работающие под управлением этих ОС, используют интерфейс CryptoAPI для осуществления функций криптографической защиты информации. Функции CryptoAPI используют, например, следующие приложения: Internet Explorer, Outlook Express, Outlook, Internet Information Server и др.

По умолчанию CryptoAPI осуществляет проверку статусов сертификатов с использованием СОС (CRL). СОС представляет собой список аннулированных или приостановленных сертификатов, издаваемый периодически – например, раз в неделю. СОС не отражает информацию о статусах в реальном времени, а также имеет ряд других недостатков, которых лишён протокол OCSP – протокол получения статуса сертификата в реальном времени.

Архитектура CryptoAPI предоставляет возможность подключения внешнего модуля проверки статуса сертификата – Revocation Provider.

КриптоПро Revocation Provider предназначен для встраивания проверки статусов сертификатов открытых ключей в режиме реального времени по протоколу OCSP в ОС Windows.

Назначение: 

КриптоПро Revocation Provider предназначен для встраивания проверки статусов сертификатов открытых ключей в режиме реального времени по протоколу OCSP в ОС Windows.

КриптоПро Revocation Provider, будучи установлен в системе, встраивается в CryptoAPI и тем самым обеспечивает проверку статусов сертификатов во всех приложениях по протоколу OCSP, причём менять что-либо в самих приложениях не требуется. Revocation Provider вызывается автоматически каждый раз, когда приложение осуществляет действия с сертификатом. Проверка сертификата в реальном времени по протоколу OCSP обеспечивает большую безопасность по сравнению с СОС.

Схема встраивания Revocation Provider в ОС представлена на рисунке.

В криптопротоколе x509 используется код X 509

Реализуемые алгоритмы: 

Чтобы обеспечить использование протокола OCSP для проверки статусов сертификатов, используемых в конкретной информационной системе, необходимо, чтобы в данной системе работал сервер OCSP.

В качестве сервера OCSP для КриптоПро Revocation Provider можно использовать КриптоПро OCSP Server.

Поддерживаемые платформы: 

КриптоПро Revocation Provider функционирует в операционных системах Microsoft Windows, как англоязычных, так и локализованных.

Основные характеристики: 

КриптоПро Revocation Provider:

  • Встраивает проверку статуса сертификатов по протоколу OCSP во все приложения операционной системы.
  • Не требует модификации приложений для использования своих возможностей.
  • Уменьшает риск стать жертвой мошенничества или понести ответственность.
  • Совместим с серверными приложениями.
  • Автоматически проверяет статусы сертификатов OCSP-серверов.
  • Поддерживает расширение . Если такое расширение присутствует в сертификате сервера, то статус этого сертификата не проверяется.
  • Автоматически проверяет, уполномочен ли OCSP-сервер Удостоверяющим Центром, издавшим проверяемый сертификат, выдавать информацию о статусе данного сертификата.
  • Настраивается через групповые политики.
  • Даёт возможность настройки доверия к конкретным OCSP-серверам.
  • При невозможности проверки сертификата по протоколу OCSP передаёт его в Microsoft Revocation Provider, который проводит проверку по СОС.
  • Может осуществлять соединения по защищённому протоколу TLS (SSL).
  • Устанавливается с помощью Windows Installer.

Использование: 

Как вызывается Revocation Provider

Будучи установленным в системе, Revocation Provider вызывается для проверки сертификата(ов) при каждом вызове функции CryptoAPI CertVerifyRevocation. Фактически, все параметры этой функции передаются без изменений в Revocation Provider. Помимо непосредственного вызова, эта функция, а значит и Revocation Provider, вызывается неявно внутри функций CertGetCertificateChain и WinVerifyTrust.

Как работает Revocation Provider

Когда приложение, работающее с CryptoAPI, вызывает функцию проверки статуса сертификата, в Revocation Provider передаётся этот сертификат вместе с рядом дополнительных параметров.

Revocation Provider, получив на проверку сертификат, создаёт OCSP-запрос на данный сертификат и обращается к одной или нескольким службам OCSP с этим запросом. При получении OCSP-ответа, осуществляет его проверку. Если ответ проходит проверку и содержит статус сертификата good или revoked, в отличие от unknown (см. RFC2560), то на этом проверка заканчивается и полученный статус возвращается приложению. Если же ответ содержит статус unknown или не проходит проверку, то происходит обращение по следующему адресу.

Очерёдность обращения к службам OCSP определяется следующим образом:

  1. По расширению AIA (AuthorityInformationAccess) в сертификате. Среди различных точек AIA выбирает те, к которым указан метод доступа по протоколу OCSP, обращения к ним происходят по очереди их расположения в сертификате.
  2. Если ни по одному из адресов OCSP-серверов, указанных в расширении AIA сертификата, не удаётся получить удовлетворяющий этим условиям ответ, или если таких адресов в сертификате не указано, то Revocation Provider пробует обратиться за статусом к OCSP-серверу, адрес которого задан групповой политикой, если она определена.

Если на предыдущих шагах не удаётся получить удовлетворяющем описанным условиям ответ, то сертификат передаётся на проверку в Microsoft Revocation Provider, входящий в состав ОС Windows. Microsoft Revocation Provider осуществляет проверку данного сертификата с использованием СОС. Полученный статус сертификата возвращается приложению.

Сертификаты: 

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

  • Страница для печатиСтраница для печати

Использование КриптоПро CSP позволяет решить сразу несколько задач:

  • для корпоративных пользователей – это возможность использовать стандартные и повсеместно используемые приложения компании Microsoft с надежной российской криптографией;
  • для системных интеграторов – это возможность создания новых, надежно защищенных приложений с использованием богатейшего и проверенного временем инструментария разработки компании Microsoft.

Использование КриптоПро CSP в ПО Microsoft

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

  • Microsoft XML версии 5.0 (Microsoft Office 2003 и Microsoft XML Viewer) и версии 6.0 (Microsoft Visual Studio 2005);
  • Microsoft Certification Authority, входящее в состав ОС Windows Server 2000/2003/2008/2008R2 (см. особенности установки);
  • Microsoft Outlook Express, входящее в состав Internet Explorer версии 5.0 и выше;
  • Microsoft Outlook, входящее в состав MS Office 2000/XP/2003/2007/2010/2013 (при формировании сообщений в формате S/MIME). При использовании ПО Microsoft Outlook 2000 рекомендуем установить Набор исправлений Office 2000 SR-1a, который позволяет корректно обрабатывать кодировки KOI8 и Win1251 в подписанных сообщениях;
  • Microsoft Word/Excel, входящее в состав MS Office 2003/2007 (при формировании ЭЦП документов);
  • Средства формирования и проверки ЭЦП программного обеспечения, распространяемого по сети (Microsoft Authenticode);
  • Защита соединений в Интернете (TLS для HTTPS) от клиентов (Internet Explorer 5.0 и выше, КриптоПро Fox) до веб-серверов (Microsoft IIS, Apache, Tomcat);
  • Защита почтовых соединений (TLS для IMAPS/POP3S/SMTPS) в Microsoft Exchange и Microsoft Outlook;
  • Защита соединений удалённого администрирования при использовании Microsoft Terminal Server или серверов и клиентов Citrix;

Встраивание КриптоПро CSP в приложения

Для встраивания КриптоПро CSP в разрабатываемые приложения следует использовать функции Microsoft CryptoAPI, SSPI, CAPICOM, а так же КриптоПро ЭЦП Browser plug-in. Ниже приведено краткое описание этих интерфейсов. Более подробное описание можно найти в программной документации MSDN (Microsoft Developer Network).

Цели использования криптографических функций

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

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

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

  • Конфиденциальность информации. При передаче данных в сети обеспечивается использованием функций шифрования. При хранении данных (на дисках, в базе данных) может использоваться функция шифрования или (для обеспечения НСД к хранимой информации) функция шифрования на производном (например, от пароля) ключе.
  • Идентификация и авторство. При сетевом взаимодействии (установлении сеанса связи) обеспечивается функциями ЭЦП при использовании их в процессе аутентификации (например, в соответствии с рекомендациями Х.509). Одновременно при аутентификации должна использоваться защита от переповторов. Для этих целей может быть использована функция имитозащиты с ограничениями, так как при вычислении имитовставки используется симметричный ключ шифрования, единый для двух субъектов (объектов) системы. При электронном документообороте обеспечивается использованием функций ЭЦП электронного документа. Дополнительно должна быть предусмотрена защита от навязывания, переповтора электронного документа.
  • Целостность. Обеспечивается использованием функций ЭЦП электронного документа. При использовании функций шифрования (без использования ЭЦП) обеспечивается имитозащитой. Для обеспечения целостности хранимых данных может быть использована функция хеширования или имитозащиты, но при этом не обеспечивается авторство информации.
  • Неотказуемость от передачи электронного документа. Обеспечивается использованием функций ЭЦП (подпись документа отправителем) и хранением документа с ЭЦП в течение установленного срока приемной стороной.
  • Неотказуемость от приема электронного документа. Обеспечивается использованием функций ЭЦП и квитированием приема документа (подпись квитанции получателем), хранением документа и квитанции с ЭЦП в течении установленного срока отправляющей стороной.
  • Защита от переповторов. Обеспечивается использованием криптографических функций ЭЦП, шифрования или имитозащиты с добавлением уникального идентификатора сетевой сессии (электронного документа) с последующей их проверкой приемной стороной или разработкой специализированного протокола аутентификации (обмена электронными документами).
  • Защита от навязывания информации. Зашита от нарушителя с целью навязывания им приемной стороне собственной информации, переданной якобы от лица санкционированного пользователя (нарушение авторства информации). Обеспечивается использованием функций ЭЦП с проверкой атрибутов электронного документа и открытого ключа отправителя. В случае навязывания информации про компрометации ключа обеспечивается организационно-техническими мероприятиями. Например, созданием системы централизованного управления ключевой информацией (оповещением абонентов) или специализированных протоколов электронного документооборота.
  • Защита от закладок, вирусов, модификации системного и прикладного ПО. Обеспечивается совместным использованием криптографических средств и организационных мероприятиях.

Использование CryptoAPI

Использование CryptoAPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:

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

На рисунке ниже приведена общая архитектура криптографических функций.

В криптопротоколе x509 используется код X 509

Общая архитектура CryptoAPI состоит из пяти основных функциональных групп:

Базовые криптографические функции

  • Функции инициализации (работы с контекстом). Эти функции предоставляют приложению возможность выбрать определенный криптопровайдер по типу имени или по требуемой функциональности.
  • Функции генерации ключей. Эти функции предназначены для формирования и хранения криптографических ключей различных типов.
  • Функции обмена ключами. Эти функции предназначены для того чтобы приложения могли обмениваться различными типами ключевой информации для обеспечения взаимодействия между собой.

Функции кодирования/декодирования

Данные функции предназначены для преобразование (кодирования) из внутреннего представления объектов, используемых в CryptoAPI, во внешнее представление и обратно. В качестве внешнего представления объектов используется формат ASN.1 (Abstracy Syntax Notation One), определенный серией рекомендаций X.680.

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

Функции работы со справочниками сертификатов

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

Высокоуровневые функции обработки криптографических сообщений

Именно эта группа функций (Simplified Message Functions) в первую очередь предназначена для использования в прикладном ПО. С помощью этих функций можно:

  • Зашифровать/расшифровать сообщение от одного пользователя к другому.
  • Подписать данные.
  • Проверить подпись данных.

Эти функции (так же как и функции низкого уровня) оперируют сертификатами открытых ключей X.509 для адресации отправителя/получателя данных. В качестве формата данных, формируемых функциями, используется формат PKCS#7 (RFC2315) или CMS (RFC2630) в Windows.

Низкоуровневые функции обработки криптографических сообщений

Данная группа функция (Low Level Message Functions) предназначена для аналогичных целей, что и группа высокоуровневых функций, но обладает большей функциональностью. Вместе с тем большая функциональность потребует от прикладного программиста более детальных знаний в области прикладной криптографии.

Использование SSPI

Использование SSPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:

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

Инструментарий разработчика CAPICOM

CAPICOM предоставляет COM-интерфейс, использующий основные функции CryptoAPI. Этот компонент является добавлением к уже существующему COM интерфейсу Certificate Enrollment Control (xenroll), который реализуют клиентские функции генерации ключей, запросов на сертификаты и обмена с центром сертификации.

С выпуском данного компонента стало возможным использование функций формирования и проверки электронной цифровой подписи, построения и проверки цепочек сертификатов, взаимодействия с различными справочниками сертификатов (включая Active Directory) с использованием Visual Basic, C++, JavaScript, VBScript и среды разработки Delphi.

Загрузить дистрибутив и примеры использования CAPICOM можно непосредственно с сайта Microsoft.

Подробную информацию о CAPICOM смотрите на сайте Microsoft в следующих разделах:

  • CAPICOM Versions;
  • Using CAPICOM;
  • CAPICOM Reference.

Инструментарий разработчика КриптоПро CSP SDK

КриптоПро CSP может использоваться для встраивания в прикладное программное путем непосредственного вызова функций КриптоПро CSP после загрузки модуля с использованием функции LoadLibrary.

Для этих целей в комплект поставки включается Руководство программиста (csp_2_0.chm, tls_2_0.chm для версии 2.0, CSP_3_0.chm, SSPI_3_0.chm, CAPILite_3_0.chm для версии 3.0), описывающее состав функций и тестовое ПО (sample2_0.zip для версии 2.0 и SDK для версии 3.0).

Руководство программиста и тестовое ПО для версии 3.6 доступны на странице загрузки.

Онлайн-версия руководства программиста для версии 3.6 также доступна на нашем сайте:

  • КриптоПро CSP;
  • КриптоПро SSPI;
  • КриптоПро CAPILite.

Тестовое ПО разработано с использованием компиляторов Microsoft Visual C++ (версия 2.0) и Microsoft Visual Studio .NET (для 3.0).

Для компиляции программ, входящих в тестовое ПО, дополнительно необходимы include файлы и библиотеки, входящие в Microsoft Windows Platform SDK.

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

Вы также можете получить уже скомпилированную тестовую программу csptest2_0.exe для версии 2.0 или SDK для версий 3.0 и выше.

  • Страница для печатиСтраница для печати

Certificates

CryptoPro CSP has a Federal Security Service certificate of conformance.

Integration

The integration of the CryptoPro CSP with MS Windows operating system allows the use of standard products.

The accordance with the Microsoft CSP interface allows for easy integration into applications by different vendors, which support this interface.

Support for  digitally signed  XML documents using XMLdsig for Windows (MSXML5, MSXML6) allows for the use of Russian cryptographic algorithms in the Microsoft Office InfoPath – a component system of Microsoft Office.

Portability

For easy and portable integration of cryptographic functions on the Unix platforms, the program interface similar to the Microsoft CryptoAPI 2.0 specifications is provided. This interface allows for the use of the high-level functions to create cryptographic messages (encryption, digital signature), building and verifying the chain of certificates, generating keys and processing the messages and certificates.

Implementation of CryptoPro CSP

The hierarchical architecture of the Cryptographic Functions in the Windows Operating System allows for the use of the Russian cryptographic algorithms implemented in CryptoPro CSP at all possible levels.

Implementation at the Crypto API 2. 0 Level

CryptoPro CSP can be used in application software (as can any other cryptoprovider supplied with the Windows operating system) using the Crypto API 2.0 interface, a detailed description of which is provided in the MSDN (Microsoft Developer Network) program documentation. In such cases the method for selecting the algorithm for the application software can be determined by the user’s/sender’s public-key-algorithm identifier which is contained in the X.509 certificate.

Implementation at the Crypto API 2.0 level provides the ability to use a wide range of functions which solve most problems related to the presentation (formats) of various cryptographic communications (signed, encrypted) by means of the presentation of public keys as digital certificates and by means of the storage and retrieval of certificates in various directories including LDAP.

The functions of CryptoPro CSP allow for the full implementation of presentation and exchange of data in compliance with international recommendations and the Public Key Infrastructure.

Implementation at the CSP Level

CryptoPro CSP can be used directly in an application program by loading the module using the Load Library function. With this in mind the package includes a Programmer’s Manual describing the various sets of functions and the test software. With this type of implementation only a limited set of low-level cryptographic functions corresponding to the Microsoft CSP interface are accessible to the software.

Using Com Interfaces

CryptoPro can be used with COM interfaces developed by Microsoft.

  • CAPICOM 2.0
  • Certificate Services
  • Certificate Enrollment Control

Certificate Enrollment Control

The COM interface Certificate Enrollment Control (implemented in the file xenroll.dll) is designed for the use of a limited number of Crypto API 2.0 functions related to key generation, certificate requests and the processing of certificates received from the Certification Authority using the programming languages Visual Basic, C++, Java Script, VBScript and the development environment Delphi.

It is this interface that is used by the various Certification Authorities (Versign, Thawte, ect.) in the producing of user certificates on the Windows platform.

CAPICOM 2

CAPICOM (implemented in the file capicom.dll) offers the COM interface that uses the primary functions of CryptoAPI 2.0 . This component is an extension of the existing COM Certificate Enrollment Control interface (xenroll.dll) which is implemented by the client functions responsible for key generation, certificate requests and interchange with the certification authority.

With the release of this component the use of digital-signature generation and verification functions, functions responsible for the construction and verification of sequences of certificates and functions responsible for interaction with different directories (including the Active Directory) with Visual Basic, C++, JavaScript, VBScript and the development environment Delphi became possible. Using CAPICOM it is possible to implement the operation of the “thin” client within the browser Internet Explorer’s interface.

The component CAPICOM is freeware and is included as part of the Micrsoft Platform SDK Developer’s redistributable toolbox.

More detailed information on the CAPICOM interface is available on the server https://www.cryptopro.ru/products/csp/usage. The distributive for the interface and sample applications are available in the CD in the directory “\REDISTR\CAPICOM 2.0”

Certificate Services

Certificate Services include several COM interfaces which allow the user to alter the functionality of the Certification Authority built-in to the Windows Server operating system. Using these interfaces it is possible to:

  • Process certificate requests from users.
  • Alter the composition of X.509 addendums recorded in certificates issued by the authority.
  • Determine additional means of publication (storage) of certificates issued by the authority.

Using TLS Protocol in Application Software

Aside from its use in the Internet Explorer interface, the TLS protocol can also be used by application software along with CryptoPro CSP for the authentication and protection of data transmitted according to its own private protocols based on TCP/IP and HTTPS.

For the implementation of the TLS protocol WebClient and WebServer sample implementations are included in the set of samples provided with the platform SDK.

Sample Applications of Cryptographic Security Tools

Test software, including sample invocations of the primary functions of Crypto API 2.0 is provided with CryptoPro CSP. These samples are found in the directory (“\SAMPLES\csptest”). A large number of sample applications of Crypto API 2.0, CAPICOM and Certificate Services functions are offered in the Microsoft Docs and in the Platform SDK developer’s toolbox.

A conference on issues surrounding the use of cryptographic functions and public-key certificates is held on the CryptoPro server (https://www.cryptopro.ru/forum2/).

CryptoPro CSP makes possible the use of reliable, certified cryptographic information-security tools as components of the wide range of tools and software of the Microsoft Corporation for the implementation of secure document flow and E-commerce based on the Public-Key infrastructure and in compliance with international recommendations X.509.

  • Printer-friendly versionPrinter-friendly version

Ссылки

[rus‑gost‑x509]Техническая спецификация. Использование алгоритмов ГОСТ Р 34.10, ГОСТ Р 34.11 в профиле сертификата и списке отзыва сертификатов (CRL) инфраструктуры открытых ключей X.509 “ТК26ИОК.pdf
[rus‑gost‑cms]Рекомендации по стандартизации. Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 34.11 и ГОСТ Р 34.10 в криптографических сообщениях формата CMS “ТК26CMS.pdf
[validata-csp]Протокол испытаний соответствия реализации CMS и X.509 проектам методических рекомендаций ТК 26 и обеспечения встречной работы СКЗИ “Валидата CSP 5.0” (ООО “Валидата”) и СКЗИ “КриптоПро CSP 4.0” (ООО “КРИПТО‑ПРО”), “Совместимость по CMS Валидата.pdf
[magpro]Протокол испытаний соответствия реализации CMS и X.509 проектам методических рекомендаций ТК 26 и обеспечения встречной работы СКЗИ “МагПро КриптоПакет 3.0” (ООО “Криптоком”) и СКЗИ “КриптоПро CSP 4.0” (ООО “КРИПТО‑ПРО”), “Совместимость по CMS Криптоком.pdf
  • Страница для печатиСтраница для печати

Как привязать электронную подпись стороннего УЦ к системе сдачи отчетности

Выполните экспорт открытой части ключа (.cer), добавьте её в архив (.zip или .rar), и направьте открытый ключ на электронную почту технической поддержки ots@skbkontur.ru  с просьбой привязать электронную подпись


Как сделать открытую часть ключа с помощью КриптоПро CSP

Выполните следующие действия:

  1. Откройте меню «Пуск». Перейдите в «Панель управления» и найдите вкладку «Крипто Про CSP».
  2. Выберите вкладку «Сервис». Появится меню, в котором нужно нажать на кнопку «Просмотреть сертификаты в контейнере».

6.png

  1. В открывшемся окне нажмите на кнопку «Обзор» для просмотра сертификатов.
  2. Из предложенного списка выберите нужный сертификат и нажмите на кнопку «ОК».

7.png

  1. В следующем окне нажмите на кнопку «Далее».
  2. Нажмите на кнопку «Свойства».

8.png

  1. Кликните на вкладку «Состав» и нажмите на кнопку «Копировать в файл».

9.png

  1. В окне «Мастер экспорта сертификатов» нажмите на кнопку «Далее».
  2. Выберите «Нет, не экспортировать закрытый ключ» и нажмите на кнопку «Далее».

3.png

  1. Выберите «Файлы X.509 (.CER) в кодировке DER» и нажмите на кнопку «Далее».

4.png

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

5.png

  1. В следующем окне нажмите на кнопку «Далее».
  2. Вы закончили экспорт файла открытого ключа. На экране в течение нескольких секунд появиться сообщение об успешном завершении процедуры. Нажмите в нем на кнопку «Готово».

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

Не забудьте добавить её в архив (zip.) или (.rar) перед отправкой на ots@skbkontur.ru

Установка КриптоПро ЭЦП Browser plug-in.

Сама инсталляция плагина, очень простая, скачиваем его и запускаем.

Установка КриптоПро ЭЦП Browser plug-in

Для запуска нажмите “Выполнить”

Установка КриптоПро ЭЦП Browser plug-in-02

Далее у вас появится окно с уведомлением, что будет произведена установка КриптоПро ЭЦП Browser plug-in, соглашаемся.

Установка КриптоПро ЭЦП Browser plug-in-03

После инсталляции утилиты, вам нужно будет обязательно перезапустить ваш браузер.

Установка КриптоПро ЭЦП Browser plug-in-05

Открыв ваш браузер, вы увидите предупредительный значок, нажмите на него.

Установка КриптоПро ЭЦП Browser plug-in-06

В открывшемся окне нажмите “Включить расширение”

Установка КриптоПро ЭЦП Browser plug-in-07

Не забудьте установить КриптоПРО CSP на компьютер, где будет генерироваться сертификат

Теперь у нас все готово. Нажимаем “Сформировать ключи и отправить запрос на сертификат”. Согласитесь с выполнением операции.

получить тестовый сертификат-02

У вас откроется форма расширенного запроса сертификата. Вначале заполним раздел “Идентифицирующие сведения”. В него входят пункты:

  • Имя
  • Электронная почта
  • Организация
  • Подразделение
  • Город
  • Область
  • Страна

получить тестовый сертификат-03

Далее вам нужно указать тип требуемого сертификата. В двух словах, это область применения ЭЦП:

  • Сертификат проверки подлинности клиента (самый распространенный вариант, по сути для подтверждения, что вы это вы)
  • Сертификат защиты электронной почты
  • Сертификат подписи кода
  • Сертификат подписи штампа времени
  • Сертификат IPSec, для VPN тунелей.
  • Другие, для специальных OID

Я оставляю “Сертификат проверки подлинности клиента”.

получить тестовый сертификат-04

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

получить тестовый сертификат-05

Для удобства еще можете заполнить поле “Понятное имя”, для быстрой идентификации вашей тестовой ЭЦП от КриптоПРО. Нажимаем выдать тестовый сертификат.

получить тестовый сертификат-06

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

получить тестовый сертификат-07

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

получить тестовый сертификат-08

Все наш контейнер КриптоПРО сформирован и для его записи введите пин-код.

получить тестовый сертификат-09

Вам сообщат, что запрошенный вами сертификат был вам выдан, нажимаем “Установить этот сертификат”.

получить тестовый сертификат-10

Если у вас еще не установленны корневые сертификаты данного центра сертификации, то вы получите вот такую ошибку:

Данный ЦС не является доверенным

Для ее устранения нажмите на ссылку “установите этот сертификат ЦС”

получить тестовый сертификат-11

У вас начнется его скачивание.

получить тестовый сертификат-12

Запускаем его, как видите в левом верхнем углу красный значок, чтобы его убрать нажмите “Установить сертификат”, оставьте для пользователя.

получить тестовый сертификат-13

Далее выбираем пункт “Поместить все сертификаты в следующее хранилище” и через кнопку обзор указываете контейнер “Доверенные корневые центры сертификации”. Далее ок.

получить тестовый сертификат-14

На последнем этапе у вас выскочит окно с предупреждением, о подтверждении установки сертификатов, нажимаем “Да”.

получить тестовый сертификат-15

Открываем снова окно с выпуском тестового сертификата КриптоПРО и заново нажимаем “Установить сертификат”, в этот раз у вас вылезет окно с вводом вашего пин-кода от вашего носителя.

получить тестовый сертификат-16

Если вы его ввели правильно, то увидите, что новый сертификат успешно установлен.

получить тестовый сертификат-17

Теперь открывайте ваш КриптоПРО и посмотрите есть ли сертификат в контейнере. Как видите в контейнере есть наша ЭЦП.

получить тестовый сертификат-18

Если посмотреть состав, то видим все наши заполненные поля. Вот так вот просто выпустить бесплатный, тестовый сертификат КриптоПРО, надеюсь было не сложно.

получить тестовый сертификат-19

Генерация тестового сертификата

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

https://www.cryptopro.ru/certsrv/

В самом низу у вас будет ссылка на пункт “Сформировать ключи и отправить запрос на сертификат”.

получить тестовый сертификат-01

Я вам советую этот сайт открывать в Internet Explore, меньше будет глюков. Как открыть Internet Explore в Windows 10, читайте по ссылке слева

Если же вы хотите использовать другой браузер, то установите КриптоПро ЭЦП Browser plug-in.

Сертификаты

Список установленных сертификатов

certmgr -list, например:

1-------
Issuer            : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject           : CN=test2
Serial            : 0x120007E4E683979B734018897B00000007E4E6
SHA1 Hash         : 0x71b59d165ab5ea39e4cd73384f8e7d1e0c965e81
Not valid before  : 07/09/2015  10:41:18 UTC
Not valid after   : 07/12/2015  10:51:18 UTC
PrivateKey Link   : Yes. Container  : HDIMAGE\\test2.000\F9C9
2-------
Issuer            : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject           : CN=webservertest
Serial            : 0x120007E47F1FD9AE0EDE78616600000007E47F
SHA1 Hash         : 0x255c249150efe3e48f1abb3bc1928fc8f99980c4
Not valid before  : 07/09/2015  09:56:10 UTC
Not valid after   : 07/12/2015  10:06:10 UTC
PrivateKey Link   : Yes. Container  : HDIMAGE\\webserve.00108

Добавление реального сертификата

Добавить только сертификат (только проверка ЭЦП):

certmgr   cert.cer

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

Закрытый ключ состоит из шести key-файлов:

header.key
masks2.key
masks.key
name.key
primary2.key
primary.key

Способ с дискетой или флешкой

Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000, 999996 – название (alias) контейнера):

  pathtokey mediaflashdrive
 pathtocertclient.cer mediaflashdrive

Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My.

Необходимо выполнять под пользователем, который будет использовать данный контейнер для подписи.

gate@example.com – то, что прописано в поле E сертификата (можно посмотреть командой keytool --printcert -file /path/to/cert/client.cer):

csptest     

С жесткого диска

«Ручной способ».

Скопировать приватный ключ в хранилище (контейнер), где <username> – имя пользователя linux:

  pathtokey varoptcprocspkeysusername

Поставить «минимальные» права:

  varoptcprocspkeysusername

Узнать реальное название контейнера:

csptest  -enum_cont  

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My:

certmgr   pathtofileclient.cer  

Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):

Failed to open container \\.\HDIMAGE\<container>
[ErrorCode: 0x00000002]

Установить сертификат УЦ из-под пользователя root командой:

certmgr   uroot  pathtofileCA.cer

Проверка успешности установки закрытого ключа

certmgr 

PrivateKey Link

Если выводится PrivateKey Link: Yes. Container: HDIMAGE\\999996.000\D7BB, то есть и сертификат, и приватный ключ, а если выводится PrivateKey Link: No – связи нет, и использовать такой контейнер для подписи не удастся.

Источник

Добавление тестового сертификата

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

cryptcp      test.csr

Ввести пароль на контейнер test123.

cryptcp      myname.csr

Пароль mysecurepass

Откройте в браузере ссылку тестовый удостоверяющий центр КриптоПро

cryptcp    certnew.cer

Ввести пароль на контейнер. По-умолчанию: 12345678

Удаление сертификата

Проверка сертификата

certmgr   file.sig

Ответ:

1-------
Issuer            : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Subject           : E=info@site.ru, C=RU, L=г. Москва, O="ООО ""Верес""", OU=Руководство, CN=Иванов Иван Иванович, T=Генеральный директор
Serial            : 0x75F5C86A000D00016A5F
SHA1 Hash         : 0x255c249150efe3e48f1abb3bc1928fc8f99980c4
Not valid before  : 08/12/2014  09:04:00 UTC
Not valid after   : 08/12/2019  09:14:00 UTC
PrivateKey Link   : No

Подписание пустого файла (размер 0) проходит успешно, но при просмотре сертификатов этого файла выдается ошибка:

Can't open certificate store: '/tmp/tmp.G8cd13vzfZ.sig'.
Error: No certificate found.
/dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:312: 0x2000012D
[ErrorCode: 0x2000012d]

Будьте внимательны!

Просмотр всех атрибутов сертификата

В cryptcp нет необходимых инструментов для получения всех атрибутов сертификата. Поэтому следует использовать openssl, но настроив его.

Получаем SHA 1 хеши:

certmgr -list -f file.sig | grep 'SHA1 Hash'

В цикле извлекаем сертификаты:

cryptcp -nochain -copycert -thumbprint 255c249150efe3e48f1abb3bc1928fc8f99980c4 -f file.sig -df certificate.der -der
openssl x509 -in certificate.der -inform der -text -noout

Настройка openssl для поддержки ГОСТ:

В файл /etc/ssl/openssl.cnf

 openssl_def # Это в начало файла
#Все что ниже в конец

 
 

 
 

 
 /usr/lib/ssl/engines/libgost.so # заменить реальным файлом
 
 

Проверка:

openssl ciphers        gost
GOST2001-GOST89-GOST89
GOST94-GOST89-GOST89

Экспорт сертификатов на другую машину

Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys. Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.

Экспорт самих сертификатов (если их 14):

 i    ;     certmgr   .cer; 

Переносим эти файлы на машину и смотрим, какие контейнеры есть:

csptest -keyset -enum_cont -verifycontext -fqcn

И как обычно, связываем сертификат и закрытый ключ:

certmgr -inst -file 1.cer -cont '\\.\HDIMAGE\container.name'

Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:

Can not install certificate
Public keys in certificate and container are not identical

Если все успешно:

В криптопротоколе x509 используется код X 509

Если нет закрытого ключа, то просто ставим сертификат:

certmgr -inst -file 1.cer

Features

  • CryptoPro TLS supports the TLS (SSL) protocol of on all platforms.
  • CryptoPro CSP can be used  with the Oracle E-Business Suite, Oracle Application Server, Java and Apache applications, via the products of the Crypto-Pro company partners.
  • Supports windows domain authentication using smart cards (USB tokens) and X.509 certificates.
  • The usage of CryptoPro CSP in email applications, as well as in MS Word and Excel products.
  • CryptoPro CSP  includes a kernel mode driver for all platforms, which allows for the use of cryptographic functions (encryption/decryption, signing , hashing) in kernel mode applications.
  • The private keys can be stored in various type of mediums, such as HDD, smart cards etc.

Корневые сертификаты

Просмотр корневых сертификатов

certmgr   uroot

В более старых версиях вместо uroot следует использовать root:

certmgr   root

Добавление корневых сертификатов (под root) из файла cacer.p7b

 certmgr    uroot  cacer.p7b

Необходимо последовательно добавить все сертификаты

Инструкция по копированию сертификата из контейнера КриптоПро

1. Запустить программу КриптоПро CSP

Найти её можно в меню «Пуск» или в Панели управления

ustanovka_lichnogo_sertifikata_1

2. Во вкладке «Сервис» нажать «Посмотреть сертификаты в контейнере…»

ustanovka_lichnogo_sertifikata_2

3. С помощью кнопки «Обзор» выбрать нужный контейнер

Если в списке вы не видите свой контейнер, убедитесь что носитель с ЭЦП подключен к компьютеру и драйвер на USB-токен установлен.

На Рутокене должен гореть светодиод. Если он не горит, значит драйвер не установлен. Скачать его можно со страницы по настройке рабочего места

4. После выбора контейнера откроются данные из сертификата электронной подписи.

Убедитесь что это именно тот сертификат, который вам нужен!

Затем нажимаем «Свойства», откроется сертификат ЭЦП

Остаётся только сохранить этот сертификат на компьютер. Нажимаем «Состав» и «Копировать в файл…»

CryptoPro_cert_export_1

CryptoPro_cert_export_2

5. Открывается «Мастер экспорта сертификатов»

Ни в коем случае не экспортировать закрытый ключ, иначе тот кому вы отправите ваш сертификат сможет использовать вашу ЭЦП по своему усмотрению!

Выберите формат экспортируемого файла в соответствии с требованиями портала. В большинстве подойдут настройки по умолчанию, т.е. «Файлы  X.509 (.CER) в кодировке DER»

Далее укажите путь и имя сохраняемого сертификата

Нажмите «Готово» и ваш сертификат сохранится в указанном каталоге!

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

Экспорт сертификата из контейнера КриптоПро CSP обновлено: 11 июля, 2022 автором: ЭЦП SHOP

5 ответов

  1. Как сделать аналогичную операцию на MacOS

    1. Спасибо, большое. Месяц мучилась, не могла скопировать ключ для регистрации в налоговой

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

      1. Сертификат лучше искать не на компьютере, а в контейнере с ключами электронной подписи (по данной инструкции), так вы точно будете знать что зарегистрировали именно актуальный сертификат.

    Добавить комментарий

    Открытый ключ ЭЦП

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

    Закрытый ключ ЭЦП

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

    В ключевой паре открытая и закрытая части привязаны друг к другу.

    Как найти и выгрузить ключи на компьютер?

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

    Через свойства браузера:

    • В ОС Windows необходимо открыть: «Пуск» — «Панель управления» — «Свойства браузера».

    • В появившемся окне выбрать вкладку «Содержание», а далее — «Сертификаты».

    • Появится список сертификатов, в котором следует выбрать нужный, а затем нажать кнопку «Экспорт».

    • Появится окно «Мастер экспорта сертификатов», где нужно выбрать «Не экспортировать закрытый ключ», если это не требуется.

    • Выбрать формат файла «Файлы в DER-кодировке X.509 (.CER)».

    • Выбрать место хранения ключа и сохранить.

    Через КриптоПро CSP:

    • В ОС Windows надо перейти в «Пуск» — «Панель управления» — «КриптоПро CSP».

    • В открывшемся окне следует выбрать вкладку «Сервис» и нажать «Просмотреть сертификаты в контейнере».

    • Через кнопку «Обзор» нужно выбрать контейнер.

    • В окне «Сертификат для просмотра» следует нажать кнопку «Свойства» и на вкладке «Состав» нажать «Копировать в файл».

    • Далее порядок действий в окне «Мастер экспорта сертификатов» аналогичный: выбрать, нужно ли сохранять закрытый ключ, установить формат и определить место хранения.

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

    Выгрузка закрытого ключа через свойства браузера выполняется по тому же алгоритму, что и в случае с открытым. Только в окне «Мастер экспорта сертификатов» нужно выбрать «Экспортировать закрытый ключ». А порядок действий при выгрузке из КриптоПро CSP следующий:

    • В ОС Windows нажать «Пуск» перейти на «Панель управления» и выбрать «КриптоПро CSP».

    • Далее — вкладка «Сервис» и кнопка «Скопировать контейнер».

    • Через кнопку «Обзор» нужно выбрать контейнер и подтвердить (потребуется ввести PIN-код).

    • Затем нужно ввести название копии закрытого ключа и нажать «Готово».

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

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

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

    Проверка подписи ЭЦП

    Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов,
    либо настроенный для этого revocation provider.

    Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.

    Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн.
    Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net

    cryptcp  

    Проверка конкретной подписи из локального хранилища по его хешу:

    cryptcp   255c249150efe3e48f1abb3bc1928fc8f99980c4  test.txt.sig

    Проверить, взяв сертификат из file1.sig, подпись файла file2.sig. Практически, надо использовать один и тот же файл:

    cryptcp    file1.sig file2.sig

    Ответ:

    Certificates found: 2
    Certificate chains are checked.
    Folder './':
    file.xls.sig... Signature verifying...
    Signer: Старший инженер, Иванов Иван Иванович, Отдел закупок, ООО «Верес», Москва, RU, info@site.ru
     Signature's verified.
    Signer: Генеральный директор, Сидоров Иван Петрович, Руководство, ООО «Кемоптика», Москва, RU, info@site.ru
     Signature's verified.
    [ReturnCode: 0]

    Результат:

    [ReturnCode: x] Текст Описание Возвращаемый код завершения в баше $?
    0 Успешно 0
    0x80091004 Invalid cryptographic message type Неправильный формат файла 4
    0x80091010 The streamed cryptographic message is not ready to return data Пустой файл 16

    Подписание документа ЭЦП

    cryptcp  КПС   pincode src.txt dest.txt.sig
    • nochain – отменяет проверку цепочки сертификатов

    • pin – пин-код

    • КПС1 – критерий поиска сертификата

    Пример создания ЭЦП (по SHA1 Hash):

    cryptcp   255c249150efe3e48f1abb3bc1928fc8f99980c4    test.txt test.txt.sig
    [ReturnCode: x] Описание Возвращаемый код завершения в баше $?
    0 успешно 0
    0x8010006b Введен неправильный PIN 107
    0x2000012d Сертификат не найден 45
    0x20000065 Не удалось открыть файл 101

    Совместимые реализации X. 509 и CMS с использованием российских алгоритмов

    На настоящий момент проведены испытания на соответствие техническим спецификациям и возможности встречной работы следующих СКЗИ:

    • СКЗИ “Валидата CSP 5.0” (ООО “Валидата”) и СКЗИ “КриптоПро CSP 4.0” (ООО “КРИПТО‑ПРО”), испытания завершены, см. протокол испытаний [validata-csp];
    • СКЗИ “МагПро КриптоПакет 3.0” (ООО “Криптоком”) и СКЗИ “КриптоПро CSP 4.0” (ООО “КРИПТО‑ПРО”), испытания завершены, см. протокол испытаний [magpro].

    Этот список будет расширяться по мере проведения тестовых испытаний.

    Современное состояние российской нормативной базы в области совместимости реализаций X. 509 и CMS

    В период с 2012 по 2014 год ООО “КРИПТО-ПРО”, выполняя поручение технического комитета по стандартизации “Криптографическая защита информации” (ТК 26) <http://www.tc26.ru/> (рабочей группы по сопутствующим криптографическим алгоритмам, определяющим ключевые системы), разработало нормативные документы:

      • Техническая спецификация. Использование алгоритмов ГОСТ Р 34.10, ГОСТ Р 34.11 в профиле сертификата и списке отзыва сертификатов (CRL) инфраструктуры открытых ключей X.509 [rus-gost-x509];
      • Рекомендации по стандартизации. Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 34.11 и ГОСТ Р 34.10 в криптографических сообщениях формата CMS [rus-gost-cms].

      Данные документы утверждены решением весеннего заседания ТК 26.

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

      • Рекомендации по стандартизации Р 1323565.1.025-2019 “Информационная технология. Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509” [tc26-gost-x509].
      • Рекомендации по стандартизации Р 1323565.1.025-2019 “Информационная технология. Криптографическая защита информации. Форматы сообщений, защищенных криптографическими методами” [tc26-gost-cms]
          Читайте также:  Эцп для портала росреестр
          Оцените статью
          ЭЦП Эксперт
          Добавить комментарий

          Adblock
          detector