Статус: Участник
Группы: Участники
Зарегистрирован: 03.07.2023(UTC) Сообщений: 16 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
E:\Work\ОРиСГС\ЭЦП\newsig\newsig.sig
Подпись 1/2: ошибка при проверке (0x800b0109: Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия.) Отпечаток: F5A05F070645C79E229406385528892B28D0681C Имя субъекта: cert1 Время подписания: 03/07/2023 22:41:06 UTC Подпись 2/2: ошибка при проверке (0x800b0109: Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия.) Отпечаток: 328300369C82B4DA4629EADD259E7142752EB5FD Имя субъекта: cert2 Время подписания: 03/07/2023 22:41:06 UTC
Проверил инструментами Криптопро5
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.07.2023(UTC) Сообщений: 16 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Автор: TolikTipaTut1 ну я сделал походу что-то вроде proof of concept. работает. Требования: PS 7.3.5, BouncyCastle >2.0 Архив с исходниками на гугл диске. Ссылка: https://drive.google.com...mHFdDvo/view?usp=sharingПруфы: Screenshot 2023-07-04 014925.png (73kb) загружен 34 раз(а).Код:Add-Type -Path .\BouncyCastle.Cryptography.dll
.\cryptcp.x64.exe -sign -detached -cadesbes -thumbprint "f5a05f070645c79e229406385528892b28d0681c" .\tbs.pdf .\tbs.pdf.sig1.sig -der -cert
.\cryptcp.x64.exe -sign -detached -cadesbes -thumbprint "328300369c82b4da4629eadd259e7142752eb5fd" .\tbs.pdf .\tbs.pdf.sig2.sig -der -cert
$cades_signature1 = [Org.BouncyCastle.Cms.CmsSignedData]::new((Get-Content -AsByteStream -Path .\tbs.pdf.sig1.sig))
$cades_signature2 = [Org.BouncyCastle.Cms.CmsSignedData]::new((Get-Content -AsByteStream -Path .\tbs.pdf.sig2.sig))
$newcmssigndata = [Org.BouncyCastle.Cms.CmsSignedDataGenerator]::new()
$newcmssigndata.UseDerForCerts = $true
$signers = [System.Collections.Generic.List[Org.BouncyCastle.Cms.SignerInformation]]::new()
$signers.Add($cades_signature1.GetSignerInfos().GetSigners()[0])
$signers.Add($cades_signature2.GetSignerInfos().GetSigners()[0])
$certlist = [System.Collections.Generic.List[Org.BouncyCastle.X509.X509Certificate]]::new()
$certlist.Add(
($cades_signature1.GetCertificates().EnumerateMatches($cades_signature1.GetSignerInfos().GetSigners()[0].SignerID) | Select-Object -Index 0)
)
$certlist.Add(
($cades_signature2.GetCertificates().EnumerateMatches($cades_signature2.GetSignerInfos().GetSigners()[0].SignerID) | Select-Object -Index 0)
)
$certStore = [Org.BouncyCastle.Utilities.Collections.CollectionUtilities]::CreateStore($certlist)
$newcmssigndata.AddCertificates($certStore)
$newcmssigndata.AddSigners(
[Org.BouncyCastle.Cms.SignerInformationStore]::new(
$signers
)
)
$newcms = $newcmssigndata.Generate([Org.BouncyCastle.Cms.CmsProcessableByteArray]::new((Get-Content -AsByteStream -Path .\tbs.pdf)), $true)
0..($newcms.GetSignerInfos().GetSigners().Count-1) | ForEach-Object {
$cert = ($newcms.GetCertificates().EnumerateMatches($newcms.GetSignerInfos().GetSigners()[$_].SignerID) | Select-Object -Index 0)
$newcms.GetSignerInfos().GetSigners()[$_].Verify($cert[0])
}
$bb = $newcms.GetEncoded()
Set-Content -AsByteStream -Path newsig.sig -Value $bb
test newsig.JPG (133kb) загружен 7 раз(а).
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.07.2023(UTC) Сообщений: 16 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Хотя, может сертификатов нет этих у меня?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.07.2023(UTC) Сообщений: 16 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Я понял, почему у меня проверка не проходит - сертификатов нет этих. а на С# можете переписать? И да, предложение об оплате работы в силе. Без кидалова.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
|
|
1 пользователь поблагодарил TolikTipaTut1 за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Автор: ИгорьПур Я понял, почему у меня проверка не проходит - сертификатов нет этих. а на С# можете переписать? И да, предложение об оплате работы в силе. Без кидалова. Да, могу. Напишите мне на почту. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.07.2023(UTC) Сообщений: 16 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Автор: TolikTipaTut1 Автор: ИгорьПур Я понял, почему у меня проверка не проходит - сертификатов нет этих. а на С# можете переписать? И да, предложение об оплате работы в силе. Без кидалова. Да, могу. Напишите мне на почту. Написал. Моя почта igor@mosinzhproekt.ruОтредактировано пользователем 4 июля 2023 г. 8:42:23(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close