Удаление сертификата криптопро linux

Работа с КриптоПро на linux сервере

Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000 , 999996 — название (alias) контейнера):

cp -R /path/to/key/999996.000 /media/flashdrive/ cp /path/to/cert/client.cer /media/flashdrive/

Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My .

gate@example.com — то, что прописано в поле E сертификата (можно посмотреть командой keytool —printcert -file /path/to/cert/client.cer ):

csptest -keycopy -src '\\.\FLASH\gate@example.com' -dest '\\.\HDIMAGE\999996'

С жесткого диска

Скопировать приватный ключ в хранилище (контейнер), где — имя пользователя linux:

cp -R /path/to/key/999996.000 /var/opt/cprocsp/keys/username>/

Поставить «минимальные» права:

chmod 600 /var/opt/cprocsp/keys/username>/999996.000/*

Узнать реальное название контейнера:

csptest -keyset -enum_cont -verifycontext -fqcn

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My :

certmgr -inst -file /path/to/file/client.cer -cont '\\.\HDIMAGE\999996'

Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):

Failed to open container \\.\HDIMAGE\ [ErrorCode: 0x00000002]

Установить сертификат УЦ из-под пользователя root командой:

certmgr -inst -store uroot -file /path/to/file/CA.cer

Проверка успешности установки закрытого ключа

PrivateKey Link

Если выводится PrivateKey Link: Yes. Container: HDIMAGE\\999996.000\D7BB , то есть и сертификат, и приватный ключ, а если выводится PrivateKey Link: No — связи нет, и использовать такой контейнер для подписи не удастся.

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

Добавление работает только на той же машине, и в тот же контейнер, где был сформированы следующий запрос на добавление:

cryptcp -creatrqst -dn 'cn=test' -cont '\\.\hdimage\test' test.csr

Ввести пароль на контейнер test123 .

cryptcp -creatrqst -dn 'e=email@test.ru,cn="тест тест",c=rus,l="москва",o="текст тест"' -cont '\\.\hdimage\myname' myname.csr
cryptcp -instcert -cont '\\.\hdimage\test' certnew.cer

Ввести пароль на контейнер. По-умолчанию: 12345678

Удаление сертификата

Проверка сертификата

1------- Issuer : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO Subject : E=info@site.ru, 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 , но настроив его.

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_conf = openssl_def # Это в начало файла #Все что ниже в конец [openssl_def] engines = engine_section [engine_section] gost = gost_section [gost_section] engine_id = gost dynamic_path = /usr/lib/ssl/engines/libgost.so # заменить реальным файлом default_algorithms = ALL CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
openssl ciphers | tr ":" "\n" | grep -i gost GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89

Экспорт сертификатов на другую машину

Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys . Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.

Экспорт самих сертификатов (если их 14):

for i in `seq 1 14`; do echo $i | certmgr -export -dest $i.cer; done

Переносим эти файлы на машину и смотрим, какие контейнеры есть:

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

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

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

cryptcp -sign (КПС1) -nochain -pin pincode src.txt dest.txt.sig

Пример создания ЭЦП (по SHA1 Hash):

cryptcp -sign -thumbprint 255c249150efe3e48f1abb3bc1928fc8f99980c4 -nochain -pin test test.txt test.txt.sig
[ReturnCode: x] Описание Возвращаемый код завершения в баше $?
0 успешно 0
0x8010006b Введен неправильный PIN 107
0x2000012d Сертификат не найден 45
0x20000065 Не удалось открыть файл 101

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

Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.

Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.

Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net

Проверка конкретной подписи из локального хранилища по его хешу:

cryptcp -verify -thumbprint 255c249150efe3e48f1abb3bc1928fc8f99980c4 -nochain test.txt.sig

Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:

cryptcp -verify -norev -f file1.sig file2.sig
Certificates found: 2 Certificate chains are checked. Folder './': file.xls.sig. Signature verifying. Signer: Старший инженер, Иванов Иван Иванович, Отдел закупок, ООО «Верес», Москва, RU, info@site.ru Signature's verified. Signer: Генеральный директор, Сидоров Иван Петрович, Руководство, ООО «Кемоптика», Москва, RU, info@site.ru 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

Получение исходного файла

Получение исходного файла (сообщения):

cryptcp -verify -nochain file.sig file.txt

Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:

cryptcp -verify -nochain -f file.sig file.sig file.txt

Настройка службы точного времени

apt-get install ntp ntpdate

Необходимо добавить сервера:

# You do need to talk to an NTP server or two (or three). #server ntp.your-provider.example server ntp1.stratum2.ru server ntp2.stratum2.ru

Источник

Способы удаления сертификата ЭЦП из Криптопро

obecp.ru

Как удалить сертификат из реестра Криптопро

Инструкции

Средства криптографической защиты используются в течение 12 месяцев для обеспечения целостности данных и формирования ключей шифрования и ЭЦП. Перед применением новой версии программы надо знать, как удалить сертификат из реестра “КриптоПро” и проверить отсутствие следов предыдущих установок приложения.

certmgr

Основные способы удаления сертификата электронной цифровой подписи из реестра «Криптопро»

Сертификаты ЭЦП удаляются такими способами:

  • средствами ОС (утилита certmgr.exe);
  • с помощью шифрующей программы;
  • специальной утилитой Ccleaner;
  • непосредственной правкой реестра Windows.

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

Удаление средствами программы «КриптоПро»

Приложение «КриптоПро CSP» предоставляет все возможности для работы с ЭЦП. Оно устанавливает, стирает, копирует и скрывает файлы сертификатов и ключей. Удаление просроченных и ненужных файлов с расширением “.key” требует выполнения следующих действий:

Удаление

  • запустить приложение «КриптоПро»;
  • перейти на вкладку «Сервис» в окне программы;
  • развернуть список ключей ЭЦП;
  • отметить нужную запись;
  • нажать на «Удалить» либо «Удалить контейнер» (определяется версией ПО);
  • подтвердить действие.

Преимуществом этого способа является то, что «КриптоПро» удаляет каждую запись по отдельности либо сразу все вместе с корневым сертификатом УЦ.

Удаление сертификата ЭЦП в ОС Linux

Деактивация ключей ЭЦП в ОС Linux может выполняться в графической среде или в режиме командной строки. Порядок действий похож для всех дистрибутивов «Линукс»:

Удаление сертификата в Линукс

  • открывается окно командного интерпретатора;
  • вводится «certmgr -list»;
  • в появившемся списке выбирается требуемая запись;
  • вводится команда «certmgr -del -c -mxxxxx.cer», где вместо «xxxxx.cer» указывается номер сертификата.

При внесении данных следует быть внимательными, т.к. в окне отображаются сведения обо всех сертификатах, а не только ЭЦП.

Удаление «КриптоПро» с очисткой следов установки

Устранение всех следов пребывания программы на компьютере осуществляется в 3 этапа:

  • удаление приложения;
  • очистка реестра утилитой Ccleaner;
  • устранение остаточных следов установки «КриптоПро».

Удаление КриптоПро

  • клавишами Win+R вызывается командный интерпретатор;
  • запускается appwiz.cpl;
  • отмечается галочкой отказ от повторного вывода этого окна;
  • находится нужная версия «КриптоПро CSP» и дается команда удалить ее;
  • производится перезагрузка компьютера, система выдаст сообщение о необходимости этой операции;
  • далее из командной строки вызывается утилита Ccleaner и галочкой отмечается пункт «Очистка»;
  • после выполнения задания выделяются галочкой «Реестр» и «Поиск проблем»;
  • на экран будет выведен список параметров, оставшихся в реестре;
  • они удаляются нажатием кнопки «Исправить выбранное»;
  • последние 2 действия Ccleaner повторяются до полной деинсталляции файлов;
  • в завершение очищается кеш установки, для этого делаются видимыми скрытые каталоги и удаляется папка «C:\ProgramData\CryptoPRO».

По завершении всех действий в компьютере не остается следов пребывания криптографического пакета в реестре и на диске.

Прерванное удаление «КриптоПро»

Удаление файлов через оснастку Windows «Программы» или установочный диск может быть прервано вследствие аппаратного или программного сбоя. В такой ситуации возможно сохранение на компьютере части секретной информации. Для ее полного удаления следует воспользоваться специальной утилитой cspclean.exe:

Cspclean

  • запустить файл cspclean.exe;
  • перезагрузить компьютер;
  • выполнить повторный запуск.

Если на компьютере остаются работающие компоненты программ «КриптоПро» или «КриптоАРМ» – тогда следует отказаться от использования этого сервиса и выбрать другой метод очистки.

Подлежит ли сертификат в дальнейшем восстановлению

Информация об удаленных сертификатах нигде не кешируется и не сохраняется в корзине, что делает невозможным их последующее восстановление даже при использовании специальной программы cpfixit.exe, возвращающей настройки безопасности реестра Windows. При ошибочном удалении ключа ЭЦП доступна только повторная установка либо добавление при помощи USB-рутокен КриптоПро.

Следует обратить внимание на получение соответствующих прав при работе с ЭЦП – для удаления достаточно иметь статус «Пользователя», а для установки потребуются полномочия «Администратора».

В каких случаях не рекомендуется удалять сертификат ЭЦП

Уничтожение сертификата делает невозможным открытие документов, созданных и зашифрованных с его помощью. Доступ к старой документации не будет предоставлен даже при установке нового ЭЦП для этого же пользователя. При большом объеме зашифрованных файлов правильным решением станет не удаление сертификата, а его скрытие. Такой способ предпочтителен для документов бухгалтерской отчетности и материально ответственных лиц.

Источник

Читайте также:  Linux фоновое выполнение команд
Оцените статью
Adblock
detector