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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Колкочев  
#1 Оставлено : 29 декабря 2020 г. 12:25:54(UTC)
TolikTipaTut1

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

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

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Здравствуйте!
Возникла проблема при проверке raw sig с использованием утилиты csptest:
Подпись файла:
Код:
cryptcp.exe -signf -detached -dir ./ -cert -der -strict -nostampcert -cadesbes -hashalg 1.2.643.7.1.1.2.2 -display -fext .sign -dn "CN=COMSIB RA DSS Admin" Example1.docx


Проверка подписи с использованием библиотеки bouncy castle:
Код:
(gci "./test files/Example1.docx" | % {[System.IO.File]::ReadAllBytes($_)}) -as [byte[]] | sv -Name "DataFileRawBytes"
(gci "./test files/Example1.docx.sign" | % {[System.IO.File]::ReadAllBytes($_)}) -as [byte[]] | sv -Name "SignatureFileRawBytes"
$signedContent = [Org.BouncyCastle.Cms.CmsProcessableByteArray]::new($DataFileRawBytes)
[Org.BouncyCastle.Cms.CmsSignedData] $signedData = [Org.BouncyCastle.Cms.CmsSignedData]::new($signedContent, $SignatureFileRawBytes)
$certStoreInSig = $signedData.GetCertificates("collection")
$signers = $signedData.GetSignerInfos().GetSigners()
0..($signers.Count-1) | % {
    $cert = $certStoreInSig.GetMatches($signers[$_].SignerID)
    $signers[$_].verify($cert[0])
}


Возвращает $true, проверка проходит успешно.
Вытаскиваю contentDigest и Signature

Код:
[System.IO.File]::WriteAllBytes(".\1.sig",$signers[0].GetSignature())
[System.IO.File]::WriteAllBytes(".\1.hash",$signers[0].GetContentDigest())


Начинаю проверку с использованием утилиты csptest:
Код:
csptest -keyset -verify GOST12_256 -in .\1.hash -signature .\1.sig -cert .\1.cer


csptest возвращает ошибку:
Код:
CSP (Type:80) v5.0.10003 KC1 Release Ver:5.0.11455 OS:Windows CPU:IA32 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 17644712
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
Public key imported from cert file: .\1.cer
Hash object created with alg: GOST12_256 0x8021
The data buffer has been hashed.
An error occurred in running the program.
ctkey.c:4039:Bad Signature.
Error number 0x80090006 (-2146893818).
Неправильная подпись.


Подскажите пожалуйста, что я делаю не так?
Offline Андрей *  
#2 Оставлено : 29 декабря 2020 г. 12:54:18(UTC)
Андрей *

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

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

Сказал «Спасибо»: 618 раз
Поблагодарили: 2394 раз в 1883 постах
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.