From 5db36aa56b3ef58277592c0c8135d00da4421584 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 25 May 2022 01:26:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=95=D1=89=D1=91=20=D0=B7=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9b84647..108f518 100644 --- a/README.md +++ b/README.md @@ -30,15 +30,41 @@ make * `/opt/cprocsp/bin/amd64/certmgr -export -dest cert.der` и вводим номер нужного сертификата в списке * `openssl x509 -inform DER -in cert.der -out cert.pem` - конвертируем из бинарного формата в привычный PEM -## Пример использования +## Примеры использования -Подпись: +Подпись PKCS-7 (вместо `openssl smime` можно также писать `openssl cms`): -`openssl cms -sign -inkey private.key -in file.txt -CAfile CA.cer -signer signer.cer -engine gost -out file.txt.sgn -outform DER -noattr -binary` +`openssl smime -sign + -in пример.pdf -out пример_подпись.p7s + -engine gost -binary -noattr -outform der + -signer cert.pem -inkey privkey.pem` Проверка подписи: -`openssl cms -verify -content file.txt -in file.txt.sgn -CAfile CA.cer -signer signer.cer -engine gost -inform DER -noattr -binary` +`openssl smime -verify + -content пример.pdf -in пример_подпись.p7s + -engine gost -binary -noattr -inform der + -CAfile CA.pem -signer cert.pem` + +## Ещё заметки + +Зашифровать приватный ключ: + +`openssl pkey -in privkey.pem -out privkey_enc.pem -aes256` + +Наоборот, импортировать приватный ключ PEM (openssl) в Крипто-Про - увы, +можно только через PFX и утилиту p12util, скачать которую можно где-то на их форумах. +Благо, под wine она тоже работает: + +`openssl pkcs12 -inkey privkey.pem -in cert.pem -keypbe gost89 -certpbe gost89 -macalg md_gost12_512 -export -out cert_and_key.pfx` + +`wine p12util.x86.exe -p12tocp -infile cert_and_key.pfx -rdrfolder Z:/var/opt/cprocsp/keys -contname Новое_Имя_Ключа -ex -passcp '' -passp12 ''` + +`/opt/cprocsp/bin/amd64/certmgr -install -container '\\.\HDIMAGE\Новое_Имя_Ключа'` + +Установить корневой сертификат (CA) в Криво-Про, чтобы оно не ругалось при подписи из браузерного плагина: + +`/opt/cprocsp/bin/amd64/certmgr -install -store root -file CA.crt` ## Идея вам на будущее