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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Новая страница: «== Применимость == В инструкции описана последовательность действий, необходимая для под…»)
 
м (оформление)
 
(не показаны 22 промежуточные версии 4 участников)
Строка 1: Строка 1:
== Применимость ==
+
== Применимость и сертификаты ==
В инструкции описана последовательность действий, необходимая для подписи файлов с помощью рутокен при работе с КриптоПро. Пример указан для 64-разрядной архитектуры AMD64, версии ROSA Fresh R7 (RED X2)
+
В инструкции описана последовательность действий, необходимых для электронной подписи произвольных файлов в соответствии с [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).
 +
 
 +
Пример пользовательского сертификата:
 +
 
 +
[[Файл:Криптопро10.png|Пользовательский сертификат]]
 +
 
 +
Пример корневого сертификата:
 +
 
 +
[[Файл:Криптопро11.png|Корневой сертификат]]
 +
 
 +
== Подписывание файла документа ==
 +
Для подписания документа в СКЗИ КриптоПро CSP существует утилита ''cryptcp''.
 +
Рассмотрим два варианта её применения для подписи файла документа:
 +
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -sign <критерии_поиска_сертификата> -der <каталог_файла/название_файла>
 +
После выполнения вышеуказанной команды в папке, из которой была выполнена команда, появится файл «название_файла.sig». Он включает в себя как подписываемый файл, так и подпись.
 +
/opt/cprocsp/bin/<amd64 или ia32>/cryptcp -signf <критерии_поиска_сертификата> -der <каталог_файла/название_файла>
 +
После выполнения вышеуказанной команды в директории, из которой была выполнена команда, появится файл «название_файла.sgn». Данный файл содержит только подпись документа. При использовании такой подписи можно подписывать сразу несколько документов.
 +
 
 +
<code>-der</code> указывает на то, что на выходе будет сертификат в формате DER (по умолчанию — Base64);
 +
 
 +
Пример подписывания документа:
 +
 
 +
[[Файл:Криптопро12.png|Пример подписывания документа]]
 +
 
 +
В [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 <каталог_файла/название_файла>
 +
Более подробно о проверке можно прочитать в [http://www.cryptopro.ru/sites/default/files/products/cryptcp/3-40/cryptcp.pdf документации по КриптоПро].
 +
 
 +
=== Пример проверки подписи вместе с сертификатом, которые находятся в принятом файле, и создания читаемой копии файла ===
 +
 
 +
[[Файл:Криптопро13.png|Проверка подписи]]
 +
 
 +
При необходимости проверки сертификата на ОС Windows можно использовать ПО «КриптоАРМ Старт» (бесплатную версию).
 +
 
 +
[[Файл:Криптопро14.png|Проверка подписи в 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

Текущая версия на 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 можно использовать ПО «КриптоАРМ Старт» (бесплатную версию).

Проверка подписи в 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