Усиленная квалифицированная подпись: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Работать с усиленной квалифицированной цифровой подписью можно не только с помощью проприетарных продуктов, таких как CryptoPro CSP и Vipnet CSP, но и с помощью свободного ПО, что и рассматривается далее. = Подготовка = 1. В качестве алгоритм...»)
 
Строка 10: Строка 10:
= Структура цифровой подписи =
= Структура цифровой подписи =


1. Усиленная квалифицированная подпись обычное представляет собой отделяемую подпись pkcs7 в DER формате.
Усиленная квалифицированная подпись обычное представляет собой отделяемую подпись и публичную часть ключа подписи в pkcs7 контейнере в '''DER''' формате.


2. CA для подписи может не оказаться в ''ca-gost-certificates*'' (как промежуточного, так и корневого), в таком случае можно использовать URL для их получения из самой подписи:
= Проверка подписи =
 
1. Проверка выполняется с помощью ''openssl-smime'':
openssl smime -verify -inform der -in file.sig -content file
 
2. CA для подписи может не оказаться в ''ca-gost-certificates*'' (как промежуточного, так и корневого), тогда возникнет ошибка:
Verification failure
140321347796480:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:crypto/pkcs7/pk7_smime.c:284:Verify error:unable to get local issuer certificate
 
в таком случае можно использовать URL для их получения из самой подписи:
  $ openssl pkcs7 -print_certs -inform DER -in file.sig -noout -text | grep "CA Issuer"
  $ openssl pkcs7 -print_certs -inform DER -in file.sig -noout -text | grep "CA Issuer"
                 CA Issuers - URI:http://uc.nalog.ru/crt/ca_fns_russia_2019_ul.crt
                 CA Issuers - URI:http://uc.nalog.ru/crt/ca_fns_russia_2019_ul.crt

Версия от 19:52, 3 октября 2022

Работать с усиленной квалифицированной цифровой подписью можно не только с помощью проприетарных продуктов, таких как CryptoPro CSP и Vipnet CSP, но и с помощью свободного ПО, что и рассматривается далее.

Подготовка

1. В качестве алгоритма шифрования используется ГОСТ, поэтому нужно установить и настроить ГОСТ в OpenSSL.

2. Затем следует устаносить CA-сертификаты:

apt-get install ca-gost-certificates-auc-crl

Структура цифровой подписи

Усиленная квалифицированная подпись обычное представляет собой отделяемую подпись и публичную часть ключа подписи в pkcs7 контейнере в DER формате.

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

1. Проверка выполняется с помощью openssl-smime:

openssl smime -verify -inform der -in file.sig -content file

2. CA для подписи может не оказаться в ca-gost-certificates* (как промежуточного, так и корневого), тогда возникнет ошибка:

Verification failure
140321347796480:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:crypto/pkcs7/pk7_smime.c:284:Verify error:unable to get local issuer certificate

в таком случае можно использовать URL для их получения из самой подписи:

$ openssl pkcs7 -print_certs -inform DER -in file.sig -noout -text | grep "CA Issuer"
               CA Issuers - URI:http://uc.nalog.ru/crt/ca_fns_russia_2019_ul.crt
               CA Issuers - URI:http://c0000-app005/crt/ca_fns_russia_2019_ul.crt

Забираем сертификат:

wget http://uc.nalog.ru/crt/ca_fns_russia_2019_ul.crt