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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline ИгорьПур  
#11 Оставлено : 4 июля 2023 г. 0:14:03(UTC)
ИгорьПур

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: TolikTipaTut1 Перейти к цитате
Есть спецификация, rfc 5126. В ней прописано, как создать несколько несколько эп в одном файле.
Просто взять и скрепить несколько эп в одном файле не получится. Смотрите в сторону addsign

По этой спецификации можно создать несколько ЭП в открепленном файле, как я понимаю. Верно?
А получить файл с прикрепленными ЭП можно только повторив процедуру подписания, но уже в формате прикрепленных подписей. Так?

Offline TolikTipaTut1  
#12 Оставлено : 4 июля 2023 г. 0:17:00(UTC)
TolikTipaTut1

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

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

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Автор: ИгорьПур Перейти к цитате
Спасибо за rfc. Иными словами, без повторной процедуры подписания нет методов получения стандартного файла с уже прикрпленными подписями, который бы сформировался из документа и его отерепленных подписей? У меня начальство уверено, что можно. А я вот не уверен.


Вопрос сводится к аутентифицированным атрибутам. Иными словами, может вами быть подписано не то, что требует спецификация.
Offline TolikTipaTut1  
#13 Оставлено : 4 июля 2023 г. 0:18:19(UTC)
TolikTipaTut1

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

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

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Автор: ИгорьПур Перейти к цитате
Автор: TolikTipaTut1 Перейти к цитате
Есть спецификация, rfc 5126. В ней прописано, как создать несколько несколько эп в одном файле.
Просто взять и скрепить несколько эп в одном файле не получится. Смотрите в сторону addsign

По этой спецификации можно создать несколько ЭП в открепленном файле, как я понимаю. Верно?
А получить файл с прикрепленными ЭП можно только повторив процедуру подписания, но уже в формате прикрепленных подписей. Так?



Почему вы не хотите сразу прикрепленные делать? Экономия трафика?
Offline ИгорьПур  
#14 Оставлено : 4 июля 2023 г. 0:18:43(UTC)
ИгорьПур

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

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

Сказал(а) «Спасибо»: 2 раз
Понятно, спасибо.
Offline ИгорьПур  
#15 Оставлено : 4 июля 2023 г. 0:23:06(UTC)
ИгорьПур

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: TolikTipaTut1 Перейти к цитате
Автор: ИгорьПур Перейти к цитате
Автор: TolikTipaTut1 Перейти к цитате
Есть спецификация, rfc 5126. В ней прописано, как создать несколько несколько эп в одном файле.
Просто взять и скрепить несколько эп в одном файле не получится. Смотрите в сторону addsign

По этой спецификации можно создать несколько ЭП в открепленном файле, как я понимаю. Верно?
А получить файл с прикрепленными ЭП можно только повторив процедуру подписания, но уже в формате прикрепленных подписей. Так?



Почему вы не хотите сразу прикрепленные делать? Экономия трафика?


Потому, что разработчики модуля подписания документации реализовали его только в таком виде. Начальство хочет его применять, но экспертные органы требуют документы в формате прикрепленных ЭП. Вот и встала задача сделать из одного другое. Я сегодня до хрипоты объяснял, что не получится, что слепить аутентичный файл из этого набора нельзя. Нет, говорят, если из файла м прикрепленными ЭП можно их выдернуть и сохранить отдельн, то почему нельзя сделать обратную задачу.

Отредактировано пользователем 4 июля 2023 г. 0:24:02(UTC)  | Причина: Не указана

Offline TolikTipaTut1  
#16 Оставлено : 4 июля 2023 г. 0:26:09(UTC)
TolikTipaTut1

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

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

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Поэкспериментировать, конечно, можно со всем этим. Попытаться извлечь секцию SignerInfo из одной подписи и вставить ее в другую...
Offline ИгорьПур  
#17 Оставлено : 4 июля 2023 г. 0:28:01(UTC)
ИгорьПур

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

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

Сказал(а) «Спасибо»: 2 раз
Возьметесь?
Offline Андрей *  
#18 Оставлено : 4 июля 2023 г. 0:41:23(UTC)
Андрей *

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

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

Сказал «Спасибо»: 501 раз
Поблагодарили: 2058 раз в 1598 постах
Автор: ИгорьПур Перейти к цитате
экспертные органы требуют документы в формате прикрепленных ЭП


А какие именно органы и на какой ФЗ \ документ с требованиями они ссылаются?



Например,
есть Приказ Судебного департамента при Верховном Суде РФ от 27.12.2016 N 251 (ред. от 17.11.2021) "Об утверждении Порядка подачи в федеральные суды общей юрисдикции документов в электронном виде, в том числе в форме электронного документа"
, в нем явно прописано: Электронная подпись должна содержаться в отдельном файле (отсоединенная электронная подпись)
Техническую поддержку оказываем тут
Наша база знаний
Offline ИгорьПур  
#19 Оставлено : 4 июля 2023 г. 0:44:25(UTC)
ИгорьПур

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

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

Сказал(а) «Спасибо»: 2 раз
Строительная экспериза. Главгосэкспертиза, Мосгосэкспертиза. Они принимают проектную документацию, подписанную ЭП только в виде прикрепленных ЭП.
Offline TolikTipaTut1  
#20 Оставлено : 4 июля 2023 г. 1:48:54(UTC)
TolikTipaTut1

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

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

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
ну я сделал походу что-то вроде 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) загружен 33 раз(а).

Код:
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

Отредактировано пользователем 4 июля 2023 г. 2:11:24(UTC)  | Причина: Не указана

thanks 2 пользователей поблагодарили TolikTipaTut1 за этот пост.
nickm оставлено 04.07.2023(UTC), ИгорьПур оставлено 04.07.2023(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.