Как извлечь содержимое подписанного ЭЦП файла? #745609


#0 by ex-human
Повсеместно широко освещается вопрос получения из хранилища сертификатов и подписывания ЭЦП файлов, меня интересует как извлечь из подписанного ЭЦП файла его содержимое.
#1 by Aleksey
А вчем проблема? Или файл зашифрован?
#2 by ex-human
Нет файл не зашифрован, просто подписан, мне не нужно ничего проверять, нужно просто вытащить само содержимое
#3 by ex-human
Я использую Capicom, не могу понять каким образом это сделать
#4 by Escander
эээ, посмотреть работу с ЭЦП в БСП?
#5 by ex-human
Забыл добавить, используется 1С 8.1
#6 by ex-human
Т.е нужно реализовать такую связку: проверить ЭЦП, если присоединенная ЭЦП - после проверки сохранить буфер в файл
#7 by rphosts
для 8.1 тоже есть БСП
#8 by Aleksey
работа с ЭЦП появилась только в последних релизах
#9 by Aleksey
яяяяяяяяяяяА вообще переходите на 8.2 + 1С:Библиотеки электронных документов 8.2 (с) Там есть и шифрование и расшифровка
#10 by ex-human
Неужели никто не сталкивался? Решение нужно для платформы 8.1., отсылки к более поздним релизам не интересуют. Шифрование и подпись ЭЦП с использованием Capicom существует с времен 7.7
#11 by Aleksey
Ну тогда в чем вопрос? Во времена 8.1 только Capicom через com
#12 by rphosts
всё-же попробуй посмотреть как оно в БСП 2.0 (более ранних нет на юзерсе). Если те-же вызовы есть в 8.1 то переделка будет минимальная... перейти от контекстного кода к коду без указания контекста - как 2 пальца об асфальт, обратно несколько сложнее
#13 by ЧеловекДуши
Содержимое то не шифруется, подпись попросту прекрипляется.
#14 by ЧеловекДуши
Что за файл? Расширение скажи.
#15 by ЧеловекДуши
Ты неправильно спрашиваешь. Цедишь нам информацию крохами. Больше спрашиваем мы, чем ты... И причем тут шифрование?
#16 by Мутабор
#17 by ex-human
Я получаю файл подписанный ЭЦП, внутри него есть оригинальный файл. Мне нужно извлечь оригинальный файл не взирая валидная или нет подпись.
#18 by ex-human
Он не зашифрован, он просто подписан. Мне нужно его извлечь, убрать эту ср@ную подпись
#19 by ЧеловекДуши
А с подписью, чего не читаемый? Причем тут 1С?
#20 by ЧеловекДуши
Если файл не шифруется, то и подпись играет только роль некого ХЕШа для сверки валидности :)
#21 by ex-human
Так и есть, но как их разделить
#22 by ex-human
По уму я должен проверить валидность подписи и вычленить содержимое из этого подписанного файла
#23 by МимохожийОднако
Хоть что-то пытался сделать? Код показывай, не стесняйся.
#24 by ex-human
(Не) Получается типа такого
#25 by ex-human
#26 by ex-human
затыкается на строке SignedData.Verify(Данные, Истина, 0); говорит неправильно инициализировал
#27 by ex-human
Изменил на SignedData.Verify(Данные, Ложь, 0), появилась ошибка В ASN1 встречен неожиданный конец данных.
#28 by Jaap Vduul
, Дык у тебя содержимое детачнуто или где? Если детачнуто, то исходные данные отдельно должны прилагаться.
#29 by ex-human
Если я этот подписанный файл открываю например в КриптоАРМ, то он мне пишет, что есть внутри файл, подписанный таким то сертификатом, (например недействительным), но поскольку сам внутренний файл относится к открытым данным я его могу сохранить в чистом виде, без подписи. Вот эту же схем мне и нужно реализовать
#30 by ex-human
Т.е, грубо говоря, мне нужно открепить сертификат от оригинального файла
#31 by Jaap Vduul
Если проверка сертификата не требуется, вызывай Verify с флагом CAPICOM_VERIFY_SIGNATURE_ONLY.
#32 by vde69
Capicom - не поддерживается виндой уже давно...
#33 by ex-human
Member                          Description    Value CAPICOM_VERIFY_SIGNATURE_ONLY Only the signature  0                               is checked. Я и поставил 0
#34 by ex-human
"..Capicom - не поддерживается виндой уже давно..." да ладно, у меня и шифрование под подписывает через него реализовано
#35 by ex-human
Ладно, я так понимаю, уж проще файлик распарсить вручную и выдрать все чтонужно
#36 by Jaap Vduul
И куда ты "поставил 0" ? Изучай:
#37 by ex-human
SignedData.Verify(Данные, Истина, 0); не оно что ли?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С