Подпись произвольных файлов ЭЦП в ОС РОСА с помощью СКЗИ Крипто-ПРО — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
== Применимость ==
 
== Применимость ==
 
В инструкции описана последовательность действий, необходимая для электронной подписи файлов в соответствии с '''ГОСТ Р 34.10-2012''' с использованием электронного ключа '''рутокен''' и программного пакета '''КриптоПро'''. Пример указан для 64-разрядной архитектуры AMD64, версии ROSA Fresh R7 (RED X2). Предполагается, что установка КриптоПро произведена согласно [[Инструкция_по_установке_КриптоПро|Инструкции]] и установлена вся цепочка сертификатов: сертификат пользователя (.cert/.p7b), промежуточные сертификаты (.cert/.p7b), сертификат корневого удостоверяющего центра (.cert/.p7b) и список отозванных сертификатов (.crl))
 
В инструкции описана последовательность действий, необходимая для электронной подписи файлов в соответствии с '''ГОСТ Р 34.10-2012''' с использованием электронного ключа '''рутокен''' и программного пакета '''КриптоПро'''. Пример указан для 64-разрядной архитектуры AMD64, версии ROSA Fresh R7 (RED X2). Предполагается, что установка КриптоПро произведена согласно [[Инструкция_по_установке_КриптоПро|Инструкции]] и установлена вся цепочка сертификатов: сертификат пользователя (.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». Данный файл содержит только подпись документа. При использовании такой подписи можно подписывать сразу несколько документов[1]
 +
 +
'''-der''' указывает на то, что на выходе будет сертификат в формате DER (по умлочанию Base64);
 +
 +
В [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 можно произвести и проверку подписи.
 +
Проверить подписанный файл, влючающий подпись можно командой:
 +
  /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -verify <указать_папку_файла/название_файла>
 +
Отдельную подпись файла или нескольких файлов можно проверить командой:
 +
  /opt/cprocsp/bin/<amd64 или ia32>/cryptcp -vsignf <указать_папку_файла/название_файла>

Версия 19:55, 23 июня 2016

Применимость

В инструкции описана последовательность действий, необходимая для электронной подписи файлов в соответствии с ГОСТ Р 34.10-2012 с использованием электронного ключа рутокен и программного пакета КриптоПро. Пример указан для 64-разрядной архитектуры AMD64, версии ROSA Fresh R7 (RED X2). Предполагается, что установка КриптоПро произведена согласно Инструкции и установлена вся цепочка сертификатов: сертификат пользователя (.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». Данный файл содержит только подпись документа. При использовании такой подписи можно подписывать сразу несколько документов[1]

-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 <указать_папку_файла/название_файла>