Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

4 Страницы«<234
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей *  
#31 Оставлено : 15 ноября 2023 г. 20:19:33(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,320
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
RAW:
Цитата:


"C:\Program Files (x86)\Crypto Pro\CSP\csptest.exe" -keys -cont "имя контейнера" -sign GOST12_256 -keytype exchange -in "C:\temp\Test.txt" -out "C:\temp\test.txt.rawsig"

Техническую поддержку оказываем тут
Наша база знаний
Offline ZiCold  
#32 Оставлено : 16 ноября 2023 г. 10:01:31(UTC)
ZiCold

Статус: Участник

Группы: Участники
Зарегистрирован: 16.09.2021(UTC)
Сообщений: 24
Российская Федерация

Автор: Андрей * Перейти к цитате

p\invoke + низкоуровневые процедуры.

Речь про Crypt32.dll или про какую-то .dll КриптоПро?

КриптоПро.Net при установке у меня требует лицензию и наша корпоративная для этого не подходит. Я удивился, но для этого вопроса я создал отдельную тему в другом разделе.
Offline ZiCold  
#33 Оставлено : 16 ноября 2023 г. 10:06:13(UTC)
ZiCold

Статус: Участник

Группы: Участники
Зарегистрирован: 16.09.2021(UTC)
Сообщений: 24
Российская Федерация

Автор: Андрей * Перейти к цитате
RAW:
Цитата:


"C:\Program Files (x86)\Crypto Pro\CSP\csptest.exe" -keys -cont "имя контейнера" -sign GOST12_256 -keytype exchange -in "C:\temp\Test.txt" -out "C:\temp\test.txt.rawsig"



Я не смог разобраться как в этой утилите указать ключ. Я попытался указать отпечаток подписи в "имя контейнера". Он не понимает. В параметре -certificate выдаёт ошибку. Документации по csptext.exe я не нашёл. В -help мало что можно понять.

Я пользовался cryptcp.exe так как для неё есть документация. Такая команда по результату будет идентична использованной вами?

Код:
cryptcp.x64.exe -sign -thumbprint "%отпечаток%" -nocert -hashalg "1.2.643.7.1.1.2.2" -detached %имя_файла%


Согласно документации 1.2.643.7.1.1.2.2 это ГОСТ Р 34.11-2012 256 bit
Offline Андрей *  
#34 Оставлено : 16 ноября 2023 г. 11:21:43(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,320
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
Автор: ZiCold Перейти к цитате
Автор: Андрей * Перейти к цитате
RAW:
Цитата:


"C:\Program Files (x86)\Crypto Pro\CSP\csptest.exe" -keys -cont "имя контейнера" -sign GOST12_256 -keytype exchange -in "C:\temp\Test.txt" -out "C:\temp\test.txt.rawsig"



Я не смог разобраться как в этой утилите указать ключ. Я попытался указать отпечаток подписи в "имя контейнера". Он не понимает. В параметре -certificate выдаёт ошибку. Документации по csptext.exe я не нашёл. В -help мало что можно понять.

Я пользовался cryptcp.exe так как для неё есть документация. Такая команда по результату будет идентична использованной вами?

Код:
cryptcp.x64.exe -sign -thumbprint "%отпечаток%" -nocert -hashalg "1.2.643.7.1.1.2.2" -detached %имя_файла%


Согласно документации 1.2.643.7.1.1.2.2 это ГОСТ Р 34.11-2012 256 bit




имя контейнера можно увидеть при тестировании сертификата через панель управления КриптоПро CSP.


cryptcp.x64.exe -sign - делает cms.
-nocert - не вкладывается сертификат подписанта, эта опция должна осознанно использоваться.


p.s.
файл с RAW подписью будет размером 64 байта.

Техническую поддержку оказываем тут
Наша база знаний
Offline ZiCold  
#35 Оставлено : 27 ноября 2023 г. 10:53:55(UTC)
ZiCold

Статус: Участник

Группы: Участники
Зарегистрирован: 16.09.2021(UTC)
Сообщений: 24
Российская Федерация

Автор: Андрей * Перейти к цитате

имя контейнера можно увидеть при тестировании сертификата через панель управления КриптоПро CSP.

cryptcp.x64.exe -sign - делает cms.
-nocert - не вкладывается сертификат подписанта, эта опция должна осознанно использоваться.

p.s.
файл с RAW подписью будет размером 64 байта.



Хорошо, тогда какая команда cryptcp.x64.exe даст мне RAW подпись? Ну или csptest, но с указанием сертификата через отпечаток.


Offline TolikTipaTut1  
#36 Оставлено : 27 ноября 2023 г. 17:56:36(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
На коленке скрипт накалякал, который вашу проблему решает (на pwsh). Его в файлик закидываете и вызываете просто.

Скрипт:
Код:
param ($in, $out, $algName, $thumbprint, $keyType)
$a = & 'C:\Program Files\Crypto Pro\CSP\certmgr.exe' -list -store uMy
$a = ($a[3..($a.Count-4)] -join "
") -split "-------"
$flag = $false
$a[1..$($a.Count-1)] | % {
    $b = $_ -split "
"
    $b = $b[0..$($b.Count-2)]
    $m = $b | Select-String $thumbprint
    if ($m.Matches.Count -gt 0) {
        $mm = $b | Select-String "Ссылка на ключ      : Есть"
        if ($mm.Matches.Count -gt 0) {
            $contName = $b | Select-String "Контейнер           :"
            $contName = ($contName[0] -split ": ")[1]
            & "C:\Program Files\Crypto Pro\CSP\csptest.exe" -keyset -sign $algName -in $in -out $out -container $contName -keytype $keyType
            $flag = $true
        }
    }
}
if (!$flag) {
    throw "Сертификата с таким отпечатком не найдено или отсутствует ссылка на закрытый ключ"
}


Пример вызова:
Код:
.\main.ps1 -in .\main.ps1 -out .\main.ps1.sig -algName GOST12_256 -thumbprint 2df3032359bed055da2b74455d50a42c40b21c24 -keyType exchange

Отредактировано пользователем 27 ноября 2023 г. 18:18:00(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
4 Страницы«<234
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.