Подпись произвольных файлов ЭЦП в ОС РОСА с помощью СКЗИ Крипто-ПРО — различия между версиями
(→Применимость и сертификаты) |
A.butyrin (обсуждение | вклад) м (оформление) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
== Применимость и сертификаты == | == Применимость и сертификаты == | ||
− | В инструкции описана последовательность действий, | + | В инструкции описана последовательность действий, необходимых для электронной подписи произвольных файлов в соответствии с [https://www.tc26.ru/en/info/new-national-standards/ '''ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012'''] с использованием электронного ключа '''Рутокен''' и программного пакета '''КриптоПро'''. Пример указан для 64-разрядной архитектуры AMD64; подписывается файл PDF. Предполагается, что установка КриптоПро произведена согласно [[Инструкция_по_установке_КриптоПро|инструкции]] и установлена вся цепочка сертификатов: сертификат пользователя (.cert/.p7b), промежуточные сертификаты (.cert/.p7b), сертификат корневого удостоверяющего центра (.cert/.p7b) и список отозванных сертификатов (.crl). |
Пример пользовательского сертификата: | Пример пользовательского сертификата: | ||
Строка 7: | Строка 7: | ||
Пример корневого сертификата: | Пример корневого сертификата: | ||
− | |||
[[Файл:Криптопро11.png|Корневой сертификат]] | [[Файл:Криптопро11.png|Корневой сертификат]] | ||
== Подписывание файла документа == | == Подписывание файла документа == | ||
− | Для подписания документа в СКЗИ КриптоПро CSP существует утилита cryptcp. | + | Для подписания документа в СКЗИ КриптоПро CSP существует утилита ''cryptcp''. |
− | Рассмотрим два варианта | + | Рассмотрим два варианта её применения для подписи файла документа: |
− | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -sign <критерии_поиска_сертификата> -der < | + | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -sign <критерии_поиска_сертификата> -der <каталог_файла/название_файла> |
− | После выполнения вышеуказанной команды в папке, из которой была выполнена команда, появится файл «название_файла.sig». Он в себя | + | После выполнения вышеуказанной команды в папке, из которой была выполнена команда, появится файл «название_файла.sig». Он включает в себя как подписываемый файл, так и подпись. |
− | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -signf <критерии_поиска_сертификата> -der < | + | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -signf <критерии_поиска_сертификата> -der <каталог_файла/название_файла> |
− | После выполнения вышеуказанной команды в директории из которой была выполнена команда появится | + | После выполнения вышеуказанной команды в директории, из которой была выполнена команда, появится файл «название_файла.sgn». Данный файл содержит только подпись документа. При использовании такой подписи можно подписывать сразу несколько документов. |
− | + | <code>-der</code> указывает на то, что на выходе будет сертификат в формате DER (по умолчанию — Base64); | |
Пример подписывания документа: | Пример подписывания документа: | ||
Строка 25: | Строка 24: | ||
[[Файл:Криптопро12.png|Пример подписывания документа]] | [[Файл:Криптопро12.png|Пример подписывания документа]] | ||
− | В [http://www.cryptopro.ru/sites/default/files/products/cryptcp/3-40/cryptcp.pdf документации по КриптоПро] в разделах 2. | + | В [http://www.cryptopro.ru/sites/default/files/products/cryptcp/3-40/cryptcp.pdf документации по КриптоПро] в разделах 2.1–2.8 приведена более подробная информация. Критерии поиска сертификата — это индивидуальный параметр, и его надо выбирать самостоятельно в зависимости от ситуации. Для удобства при выставлении критериев поиска сертификата можно воспользоваться командой |
− | + | /opt/cprocsp/bin/<amd64 или ia32>/certmgr -list | |
и просмотреть сертификаты пользователя. | и просмотреть сертификаты пользователя. | ||
== Проверка подписи документа == | == Проверка подписи документа == | ||
− | С помощью утилиты cryptcp можно произвести и проверку подписи | + | С помощью утилиты ''cryptcp'' можно произвести и проверку подписи. |
− | + | ||
− | + | ||
− | + | Для проверки подписи в системе должен быть установлен корневой сертификат того же удостоверяющего центра, что и в системе, на которой производилась подпись. | |
− | + | ||
− | + | ||
− | + | ||
+ | Команда для проверки подписанного файла, включающего подпись: | ||
+ | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -verify <каталог_файла/название_файла> | ||
+ | Команда для проверки отдельной подписи файла или нескольких файлов : | ||
+ | /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -vsignf <каталог_файла/название_файла> | ||
+ | Более подробно о проверке можно прочитать в [http://www.cryptopro.ru/sites/default/files/products/cryptcp/3-40/cryptcp.pdf документации по КриптоПро]. | ||
− | Пример проверки подписи вместе с сертификатом, которые находятся в принятом файле, и создания читаемой копии файла | + | === Пример проверки подписи вместе с сертификатом, которые находятся в принятом файле, и создания читаемой копии файла === |
[[Файл:Криптопро13.png|Проверка подписи]] | [[Файл:Криптопро13.png|Проверка подписи]] | ||
− | При необходимости проверки сертификата на ОС Windows | + | При необходимости проверки сертификата на ОС Windows можно использовать ПО «КриптоАРМ Старт» (бесплатную версию). |
[[Файл:Криптопро14.png|Проверка подписи в Windows]] | [[Файл:Криптопро14.png|Проверка подписи в Windows]] | ||
Строка 50: | Строка 49: | ||
Пример распечатки подписи: | Пример распечатки подписи: | ||
− | + | Параметры подписи | |
− | + | Статус | |
− | + | Общий статус подписи: Подпись верна | |
− | + | Статус проверки математической корректности: Подпись верна | |
− | + | Статус проверки сертификата: Сертификат действителен | |
− | + | Сертификат подписи | |
− | + | Информация о сертификате | |
− | + | Параметры сертификата: Версия: 3 | |
− | + | Серийный номер: 1200108BA3D91F5C0D6DAD363C000000108BA3 | |
− | + | Издатель: CRYPTO-PRO Test Center 2 | |
− | + | Действителен с: 09.05.2016 13:29:56 UTC | |
− | + | Действителен до: 09.08.2016 13:39:56 UTC | |
− | + | Владелец: Oleg | |
− | + | Открытый ключ: | |
− | + | Алгоритм открытого ключа: ГОСТ Р 34.10-2001 | |
− | + | Расширения сертификата: | |
− | + | Использование ключа (KU), критическое расширение: | |
− | + | Значение: Цифровая подпись, Неотрекаемость, Шифрование ключей, Шифрование данных (f0) | |
− | + | Улучшенный ключ (EKU): | |
− | + | Значение: Проверка подлинности клиента | |
− | + | Точка распространения СОС (CDP): | |
− | + | Значение: URL: http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl | |
− | + | Доступ к информации о ЦС: | |
− | + | Значение: | |
− | + | Метод доступа: Доступ к информации издателей http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt | |
− | + | Метод доступа: Доступ к службе Актуальных статусов сертификатов http://testca.cryptopro.ru/ocsp/ocsp.srf | |
− | + | Алгоритм подписи: ГОСТ Р 34.10-2001/ГОСТ Р 34.11-94 | |
− | + | Атрибуты | |
− | + | Тип содержимого: PKCS#7 - data | |
− | + | Время подписания: 22.06.2016 07:08:38 UTC |
Текущая версия на 12:30, 22 ноября 2018
Содержание
Применимость и сертификаты
В инструкции описана последовательность действий, необходимых для электронной подписи произвольных файлов в соответствии с ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012 с использованием электронного ключа Рутокен и программного пакета КриптоПро. Пример указан для 64-разрядной архитектуры AMD64; подписывается файл PDF. Предполагается, что установка КриптоПро произведена согласно инструкции и установлена вся цепочка сертификатов: сертификат пользователя (.cert/.p7b), промежуточные сертификаты (.cert/.p7b), сертификат корневого удостоверяющего центра (.cert/.p7b) и список отозванных сертификатов (.crl).
Пример пользовательского сертификата:
Пример корневого сертификата:
Подписывание файла документа
Для подписания документа в СКЗИ КриптоПро CSP существует утилита cryptcp. Рассмотрим два варианта её применения для подписи файла документа:
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -sign <критерии_поиска_сертификата> -der <каталог_файла/название_файла>
После выполнения вышеуказанной команды в папке, из которой была выполнена команда, появится файл «название_файла.sig». Он включает в себя как подписываемый файл, так и подпись.
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -signf <критерии_поиска_сертификата> -der <каталог_файла/название_файла>
После выполнения вышеуказанной команды в директории, из которой была выполнена команда, появится файл «название_файла.sgn». Данный файл содержит только подпись документа. При использовании такой подписи можно подписывать сразу несколько документов.
-der
указывает на то, что на выходе будет сертификат в формате DER (по умолчанию — Base64);
Пример подписывания документа:
В документации по КриптоПро в разделах 2.1–2.8 приведена более подробная информация. Критерии поиска сертификата — это индивидуальный параметр, и его надо выбирать самостоятельно в зависимости от ситуации. Для удобства при выставлении критериев поиска сертификата можно воспользоваться командой
/opt/cprocsp/bin/<amd64 или ia32>/certmgr -list
и просмотреть сертификаты пользователя.
Проверка подписи документа
С помощью утилиты cryptcp можно произвести и проверку подписи.
Для проверки подписи в системе должен быть установлен корневой сертификат того же удостоверяющего центра, что и в системе, на которой производилась подпись.
Команда для проверки подписанного файла, включающего подпись:
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -verify <каталог_файла/название_файла>
Команда для проверки отдельной подписи файла или нескольких файлов :
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -vsignf <каталог_файла/название_файла>
Более подробно о проверке можно прочитать в документации по КриптоПро.
Пример проверки подписи вместе с сертификатом, которые находятся в принятом файле, и создания читаемой копии файла
При необходимости проверки сертификата на ОС Windows можно использовать ПО «КриптоАРМ Старт» (бесплатную версию).
Пример распечатки подписи:
Параметры подписи Статус Общий статус подписи: Подпись верна Статус проверки математической корректности: Подпись верна Статус проверки сертификата: Сертификат действителен Сертификат подписи Информация о сертификате Параметры сертификата: Версия: 3 Серийный номер: 1200108BA3D91F5C0D6DAD363C000000108BA3 Издатель: CRYPTO-PRO Test Center 2 Действителен с: 09.05.2016 13:29:56 UTC Действителен до: 09.08.2016 13:39:56 UTC Владелец: Oleg Открытый ключ: Алгоритм открытого ключа: ГОСТ Р 34.10-2001 Расширения сертификата: Использование ключа (KU), критическое расширение: Значение: Цифровая подпись, Неотрекаемость, Шифрование ключей, Шифрование данных (f0) Улучшенный ключ (EKU): Значение: Проверка подлинности клиента Точка распространения СОС (CDP): Значение: URL: http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl Доступ к информации о ЦС: Значение: Метод доступа: Доступ к информации издателей http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt Метод доступа: Доступ к службе Актуальных статусов сертификатов http://testca.cryptopro.ru/ocsp/ocsp.srf Алгоритм подписи: ГОСТ Р 34.10-2001/ГОСТ Р 34.11-94 Атрибуты Тип содержимого: PKCS#7 - data Время подписания: 22.06.2016 07:08:38 UTC