0x00000002 криптопро

0x00000002 криптопро Электронная цифровая подпись

Подключение сетевого принтера может завершиться сбоем — ошибкой с кодом 0x00000002. Она означает, что ОС испытывает трудности при установке драйверов на устройство.

Устраняем ошибку 0x00000002

0x00000002

Для решения неисправности подойдут следующие методы:

  1. Удалить драйвера. Жмите Win+R, вводите printui /s /t2. В появившемся окне переходите на вкладку «Драверы», отыскать ваш принтер, нажать ниже на «Удалить», обязательно указав «Удалить драйвер и пакет драйвера». Далее открываете Редактор реестра, удалить раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations. В разделе HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments удаляете подраздел Print Processors и все драйвера, за исключением winprint. Переходите в директорию c:\Windows\System32\spool\prtprocs\x64. Удаляйте все папки там от 1 до 499. Нужно, чтобы осталось лишь winprint.dll. Перезагружаете ПК, повторяете попытку установки сетевого принтера.
  2. Убедиться, что устанавливаются корректные драйвера. Это касается их архитектуры. Иногда ошибка 0x00000002 возникает из-за конфликта 32-х и 64-х битных драйверов.
  3. Использовать универсальные драйвера. У многих производителей принтеров есть такие драйвера, которые подходят ко всем моделям устройств. Найдите их на официальных сайтах.

Сообщения о STOP-ошибках 0x00000002

STOP-ошибку 0x00000002, которая всегда входит в состав сообщения о STOP-ошибке, чаще называют Синим Экраном Смерти (далее BSOD, от Blue Screen of Death). Сообщение о STOP-ошибке может содержать одну из следующих ошибок или их комбинацию:

  • “STOP: 0x00000002”
  • “DEVICE_QUEUE_NOT_BUSY”

STOP-ошибка 0x00000002 так же может обозначаться как STOP 0x2, но в сообщении о STOP-ошибке всегда отображается полный код ошибки.

Если операционная система загрузится после ошибки STOP 0x2, то при запуске Вы увидите на экране следующее сообщение с текстом Windows восстановлена после непредвиденного завершения работы:

Имя события проблемы: BlueScreen BCCode: 2

Причины ошибок STOP 0x00000002

STOP-ошибки 0x00000002, скорее всего, вызваны аппаратными проблемами или проблемой с драйвером какого-либо устройства.

Если сообщение об ошибке не содержит ошибки STOP 0x00000002 или сообщения DEVICE_QUEUE_NOT_BUSY, то можете поискать Вашу ошибку в моём Полном списке кодов STOP-ошибок и перейти по ссылке к информации о решении проблемы, вызвавшей данную ошибку.

Как избавиться от STOP-ошибок 0x00000002

Примечание: STOP-ошибка STOP 0x00000002 возникает довольно редко, поэтому я приведу здесь доступную информацию по решению этой проблемы.

Т.к. большинство STOP-ошибок имеют схожие причины, далее я приведу основные шаги по устранению проблем, связанных с ошибкой STOP 0x00000002:

  1. Перезагрузите компьютер, если Вы ещё не сделали этого.
    BSOD со STOP-ошибкой 0x00000002 может и не появиться снова после перезагрузки.
  2. Выполните основные рекомендации по устранению STOP-ошибки. Эти общие действия по устранению проблемы не являются специфическими именно для STOP-ошибки 0x00000002, но поскольку большинство из ошибок очень похожи, они должны помочь в решении данной проблемы.

Пожалуйста, дайте мне знать, если Вы решили проблему STOP-ошибки 0x00000002 не используя один из приведённых выше методов. Мне бы хотелось, чтобы на данной странице была настолько точная информация об устранении ошибки STOP 0x00000002, насколько это возможно.

Применимость данного руководства

В любой из версий Windows, основанных на системе NT, может возникнуть ошибка STOP 0x00000002. В их число входят Windows 8, Windows 7, Windows Vista, Windows XP, Windows 2000, и Windows NT.

Всё ещё возникает ошибка STOP 0x00000002?

Обратитесь в службу технической поддержки. Опишите в деталях Вашу проблему в комментариях. Убедитесь в том, что Вы предприняли все возможные шаги для устранения ошибки STOP 0x2 и какие шаги Вы уже приняли, чтобы устранить её.

Важно: Пожалуйста, убедитесь, что Вы выполнили все мои основные рекомендации по устранению STOP-ошибок перед тем как публиковать Ваш вопрос.

Чтобы на сегодняшний день получить полноценное рабочее место, с возможность аутентификации и подписи документов с помощью ЭЦП на различных госпорталах, на базе Ubuntu LTS с софтовым криптопровайдером и поддержкой ГОСТ алгоритмов, мной было потрачено не мало времени. Информацию собирал по крупицам из разных источников, в итоге всё получилось! Решил написать мини мануал, может кому пригодится.

И так что имеем изначально и на чём всё тестировалось на работоспособность:1. ОС Ubuntu 14.04/16.04/18.042. CryptoPro x64 версии 4.0.9944-5 с версией библиотеки libcppkcs11.so совместимой с Ростелекомовским плагином(IFCPlugin) для ЕСИА.3. ЭЦП (действующий сертификат + контейнер с закрытым ключём)на rutoken или на обычной флешке. 4. Firefox и chromium-gost.5. IFCPlugin x64 версии 3.0.0 совместимый с библиотекой libcppkcs11.so из сборки CryptoPro 4.0.9944-56. CryptoPro ЭЦП browser plugin версии 2.0.0

Весь нужный софт был собран с сети и находился в свободном доступе. Всё объединил в один архив: ubuntu_crypto.zip

Читайте также:  криптопро сертификаты тензор

И так по порядку
1. Устанавливаем брузеры, Firefox собственно доступен из коробки, а вот chromium-gost можно взять из архива, ну или самый свежий https://github.com/deemru/chromium-gost/releases. chromium-gost может понадобиться на некоторых гос. порталах, он имеет поддержку TLS с ГОСТ алгоритмами.

2. Устанавливаем CryptoPro:    2.1 Добавляем поддержку LSB и alien – понадобится для установки ЭЦП браузер плагин (CadesPlugin).

sudo apt install lsb lsb-core alien    2.2 Заходим в папку linux-amd64_deb и устанавливаем криптопровайдер.

sudo ./install.sh        убеждаемся что ошибок нет, и все зависимости удовлетворены. Если чего то не хватает, всё есть в стандартных репах, устанавливаем нужные пакеты, и заново. Пока не пройдет без ошибок.    2.3  Устанавливаем доп. пакеты для работы с ЭЦП:

sudo dpkg -i cprocsp-rdr-gui-64_4.0.9944-5_amd64.debsudo dpkg -i cprocsp-rdr-gui-gtk-64_4.0.9944-5_amd64.deb#Поддержка алгоритмов класса1 и 2sudo dpkg -i lsb-cprocsp-kc1-64_4.0.9944-5_amd64.debsudo dpkg -i lsb-cprocsp-kc2-64_4.0.9944-5_amd64.deb#Обязательно установить библиотеки pkcs11sudo dpkg -i lsb-cprocsp-pkcs11-64_4.0.9944-5_amd64.deb     2.4. Далее если используем rutoken s. устанавливаем:

sudo dpkg -i cprocsp-rsa-64_4.0.9944-5_amd64.debsudo dpkg -i cprocsp-rdr-pcsc-64_4.0.9944-5_amd64.debsudo dpkg -i cprocsp-rdr-rutoken-64_4.0.9944-5_amd64.debsudo dpkg -i ifd-rutokens_1.0.1_amd64.deb        Потребует так же установить зависимости pcsc и libusb ставим из стандартных репов.        Так же, если используем rutoken S можно установить свежий драйвер драйвер для его поддержки. Для других типов Rutoken, вроде как, драйвера не требуются, впрочем как и софтовый криптопровайдер, но сам не проверял за неимением таковых.

3. Устанавливаем CadesPlugin с помощью alien.

sudo alien -kci cprocsp-pki-2.0.0-amd64-cades.rpmsudo alien -kci cprocsp-pki-2.0.0-amd64-plugin.rpm# С первого раза не все файлы копируются, например не копируется /opt/cprocsp/lib/amd64/libnpcades.sosudo alien -kci cprocsp-pki-2.0.0-amd64-plugin.rpmДелаем ссылку на установленный плагин

sudo ln -s  /opt/cprocsp/lib/amd64/libnpcades.so /usr/lib/firefox-addons/plugins/libnpcades.so4. Устанавливем IFCPlugin для работы с порталами с ЕСИА(Госуслуги).

sudo dpkg -i IFCPlugin-x86_64.deb    4.1 После успешной установки заменяем дефолтный файл /etc/ifc.cfg на файл ifc.cfg из архива.    4.2 Обязательно делаем символьную ссылку на библиотеку pkcs11 из пакета CryptoPro для использования IFCPlugin

sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so    4.3 Если мы хотим работать на Госуслугах через chromium-gost, необходимо ему подсунуть ссылку на плагин, так как разрабы этого плагина, почему-то забыли про существования chromium и в deb пакете с плагином присутствуют конфиги только для Firefox и google-chrome.

sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts    Всё! Установку завершили по сути. Осталось теперь при первом входе на порталы установить расширения для CadeslPlugin и (Firefox сам предложит его установить при первом входе на портал где он используется) и установить Расширение для плагина Госуслуг в chromium-gost

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

1. Нужно убедиться что CryptoPro видит наш контейнер с закрытым ключём, обратите внимание что контейнер должен быть доступен обычному пользователю, под которым вы работаете в системе:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 12104259
\\.\HDIMAGE\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
\\.\Aktiv Co. Rutoken S 00 00\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,320 sec
[ErrorCode: 0x00000000]

2.Устанавливаем корневые и промежуточные сертификаты, чтобы цепочка сертификатов была доверенной:

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file путь_к_файлу_с_сертификатомsudo /opt/cprocsp/bin/amd64/certmgr -inst -store uca -file путь_к_файлу_с_сертификатом3. Устанавливаем личный сертификат с ссылкой на наш контейнер содержащий закрытый ключ:

/opt/cprocsp/bin/amd64/certmgr -inst -store umy -file путь_к_файлу_с_сертификатом -cont ‘\\.\HDIMAGE\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’4. Проверить что сертификат установлен и имеется ссылка на закрытый ключ (PrivateKey Link: Yes):

/opt/cprocsp/bin/amd64/certmgr -list -store umy
1-------
Issuer              : [email protected], OGRN=1045504013906, INN=005503080925, C=RU, S=55 Омская область, L=Омск, STREET=Красный Путь 109, OU=Отдел информационной безопасности, O=Главное управление информационных технологий и связи Омской области, CN=Государственный УЦ Омской области
Subject             : OGRN=1025501179274, SNILS=11335005899, INN=005505016361, C=RU, S=55 Омская область, L=Омск, O="БУЗОО ""ГП №3""", CN="XXXXX", STREET=XXXXX а, T=XXXXXт, G=XXXXXX, SN=XXXXXX
Serial              : 0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SHA1 Hash           : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SubjKeyID           : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 09/04/2018  06:47:12 UTC
Not valid after     : 09/04/2019  06:57:12 UTC
PrivateKey Link     : Yes                 
Container           : HDIMAGE\\XXXXXXXX.000\XXXX
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC2 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL         : http://pki.omskportal.ru/dms/cdp2/guc_cer/guc.cer
CDP                 : http://pki.omskportal.ru/dms/cdp2/guc_crl/guc.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2
                      1.3.6.1.5.5.7.3.4
                      1.2.643.5.1.29
                      1.2.643.5.1.24.2.6
                      1.2.643.2.2.34.6
                      1.2.643.100.2.1
=============================================================================

P.S
Если в контейнере с ключами хранятся связанные сертификаты например на rutoken s, то можно одной командой установить всю цепочку сертификатов вместе с ссылкой на данный ключевой контейнер:

Читайте также:  Как подписать документ электронной подписью используя Крипто Про 5?

/opt/cprocsp/bin/amd64/certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’Если необходимо скопировать ключевой контейнер, например с rutoken на диск

/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc ‘\\.\Aktiv Co. Rutoken S 00 00\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’ -contdest ‘\\.\HDIMAGE\newcontname’ -typedest 75 -typesrc 75Собственно всё! Можно работать, с порталами имеющие аутентификацию с ЕСИА, и другими использующие CadesPlugin, в том числе с порталами использующий ГОСТ алгоритмы в TLS. Надеюсь кому нибудь этот пост поможет сэкономить немного времени.

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

Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов,
либо настроенный для этого 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, [email protected]
 Signature's verified.
Signer: Генеральный директор, Сидоров Иван Петрович, Руководство, ООО «Кемоптика», Москва, RU, [email protected]
 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

Сертификаты

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

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

1-------
Issuer            : [email protected], 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            : [email protected], 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.001\2608

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

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

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.

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

[email protected] – то, что прописано в поле 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            : [email protected], C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Subject           : [email protected], 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 для поддержки ГОСТ:

Читайте также:  0x800700ea криптопро и Ошибка, запрошенная при копировании

В файл /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

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

0x00000002 криптопро

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

certmgr -inst -file 1.cer

Пример установки отдельно взятого сертификата из контейнера

При необходимости скопируйте ключевой контейнер \\.\FLASH\.\sidorov на жесткий диск:

/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\\.\FLASH\sidorov' -contdest '\\.\HDIMAGE\sidor'CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38556259
CryptAcquireContext succeeded.HCRYPTPROV: 38770755
Total: SYS: 0,000 sec USR: 0,100 sec UTC: 14,920 sec
[ErrorCode: 0x00000000]

Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.

Проверьте наличие нового контейнера \\.\HDIMAGE\sidor:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifycCSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 34554467
\\.\FLASH\ivanov
\\.\FLASH\petrov
\\.\FLASH\sidorov
\\.\FLASH\vasiliev
\\.\FLASH\smirnov
\\.\HDIMAGE\sidor
OK.
Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]

Установите личный сертификат:

/opt/cprocsp/bin/amd64/certmgr -inst -cont '\.HDIMAGEsidor'Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores
Install:
=============================================================================
1-------
Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, [email protected], C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject             : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, [email protected], C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
Serial              : 0x12C40953000000000019
SHA1 Hash           : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
SubjKeyID           : 5fc37e578cce0abe739c4da227f68a2f9abcb128
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 09/08/2016  06:07:00 UTC
Not valid after     : 09/11/2017  06:17:00 UTC
PrivateKey Link     : No
CA cert URL         : <mark>http://cert1.ucestp.ru/estp.crt</mark>
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]

Скачайте корневой сертификат по ссылке выше (из поля CA cert URL): http://cert1.ucestp.ru/estp.crt и перенесите его, например, в домашнюю папку:

cp ~/Загрузки/estp.crt ~/estp.crt

Установите корневой сертификат (возможно потребуются права суперпользователя):

/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file ~/estp.crtCertmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores
Install:
=============================================================================
1-------
Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, [email protected], C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject             : OGRN=1234567890123, INN=1234567890, STREET=Арбат, [email protected], C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Serial              : 0x50D7BC0E4A3EC9994454EB83013EE5F5
SHA1 Hash           : 0xd2144a3e098b6f2decb224257f48e2b7c6d85209
SubjKeyID           : 07b753cd561dee8e5e83407be4575ecc05bfec14
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 17/06/2016  13:15:21 UTC
Not valid after     : 17/06/2021  13:25:01 UTC
PrivateKey Link     : No
=============================================================================
[ErrorCode: 0x00000000]

Проверьте установку личного сертификата:

/opt/cprocsp/bin/amd64/certmgr -list -store uMyCertmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, [email protected], C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject             : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, [email protected], C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
Serial              : 0x12C40953000000000019
SHA1 Hash           : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
SubjKeyID           : 5fc37e578cce0abe739c4da227f68a2f9abcb128
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 09/08/2016  06:07:00 UTC
Not valid after     : 09/11/2017  06:17:00 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\sidor.000\2B01
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL         : http://cert1.ucestp.ru/estp.crt
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]

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

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

certmgr   uroot

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

certmgr   root

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

 certmgr    uroot  cacer.p7b

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

Установка сертификатов используя КриптоПРО в Linux

Описание процесса установки приведено на примере дистрибутива семейства Debian (x64).Названия файлов и директорий могут варьироваться от системы к системе.

При установке личных сертификатов не нужны права суперпользователя, и наоборот, при установке сертификатов УЦ(корневых и промежуточных) могут потребоваться такие права.

Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifycCSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 16188003
\\.\FLASH\ivanov
\\.\FLASH\petrov
\\.\FLASH\sidorov
\\.\FLASH\vasiliev
\\.\FLASH\smirnov
OK.
Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec

Можно сразу установить личные сертификатов из всех доступных контейнеров одной командой:/opt/cprocsp/bin/amd64/csptestf -absorb -certsПроизойдет установка сертификатов, находящихся во всех доступных в момент запуска команды контейнерах (съемных флэш-носителях, жесткого диска и т. д.) в хранилище uMy.

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

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

Оцените статью
ЭЦП Эксперт
Добавить комментарий