Всем привет.
Может кто сталкивался и решал вопрос с отметками ЭЦП в PDF,
Есть какой-то Акт, который сохранили в PDF и файл подписали ЭЦП. Все люкс, но если мы захотим вставить в PDF отметку об ЭЦП, то ... старая ЭЦП накроется, файл-то изменился.
Можно сначала вставить отметку, а потом уже подписать. Все здорово, но если этот Акт подпишут с другой стороны, то вторую отметку об ЭЦП вставить нельзя, поскольку тогда первая ЭЦП накроется (файл опять же изменился).
Это простой случай. А если есть 5 согласующих лиц и каждый вставляет штамп ЭЦП, то как сделать чтобы каждая следующий штамп не убивал ранее сформированные ЭЦП.
Самое просто решение - подписывать чистый файл. и тогда пофиг сколько подписей. Но тогда визуально подписанный PDF ничем не отличается от неподписанного. Тоже как-то нехорошо.
Всю голову сломал, но так ничего и не придумал.
Т.е. вопрос в том, как добавлять штампы ЭЦП в процессе подписания не накрывая ранее сформированные ЭЦП?
(2) Это не решает проблему. Отсоединенная подпись точно так же накрывается, когда файл меняется (появляется штамп ЭЦП).
Т.е. вопрос скорее не технический, а теоретический.
Кто как решает вопрос о штампах новых ЭЦП. Чтобы старые ЭЦП тем не менее проходили проверку.
(4) А при присоединении второй ЭЦП (третьей, четвертой и т.д.) первая ЭЦП не накрывается?
И опять же вопрос, КАК вставить ШТАМП об ЭЦП. Т.е. при второй подписи нужно воткнуть второй штамп и ... PDF изменился, проверка первой подписи накрывается. Или нет?
Как раз засада в том, что пока ЭЦП не подписали штамп втыкать нельзя. Тем более что в штампе указываются и параметры ЭЦП. А этих ЭЦП и штампов иногда нужно много. И идут они не одномоментно, а в порядке живой очереди. И получается засада полная :-(.
Все как обычно, государство рисует ГОСТы, которые непонятно как реализовать. Вроде слова умные и все правильно, а чуть поглубже копнешь, полная хрень :-(.
ЭЦП (в приложении к PDF-документу) может быть двух видов: утверждающая подпись и сертифицирующая подпись. Утверждающих электронных подписей может быть несколько в одном документе. При подписании документа утверждающей электронной подписью имеется возможность заблокировать любые изменения документа в дальнейшем. Сертифицирующая электронная подпись в документе всегда существует в единственном экземпляре. Но имеется возможность разрешить вносить в документ изменения, не изменяющие суть этого документа (например, добавлять комментарии).
Использование утверждающей подписи может выглядеть следующим образом:
● Формируется документ, например, коммерческое предложение.
● Автор коммерческого предложения подписывает его своей утверждающей подписью, тем самым фиксируя содержимое и подтверждая авторство.
● Затем предложение отправляется коммерческому директору фирмы, который проверяет корректность выставленного предложения и подписывает документ утверждающей подписью, при этом выставляя блокировку документа.
● Теперь коммерческое предложение утверждено ответственными лицами (путем электронной подписи) и заблокировано от
PDF отдельно хранит подписи и отдельно - сам документ. Поэтому, при подписании второй, третьей и т.д. подписями, предыдущие подписи остаются действительными.
(3) Отсоединенная на то и "отсоединенная", что она хранится отдельно от файла, который она подписала. Поэтому она не "накрывается", когда документ еще раз будет подписан. Более того, первая подпись не знает о существовании второй, а вторая - о существовании первой.
И проверяются подписи на сайте госуслуг независимо: файл подписи и файл, который подписали
(8)
(9) Про ЭЦП я все понимаю. А вот как со штампом быть? По ГОСТ надо на документе указать "Подписано электронной подписью". При отсоединенной ЭЦП новый штамп воткнуть НЕЛЬЗЯ, Поскольку тогда файл изменится.
А вот с присоединенной непонятно. Будем пробовать.
Спасибо за помощь.
(10)
Да, при отсоединенной подписи нельзя показать штамп, это правда.
Если у вас задача, что нужно в 1С:Предприятии нарисовать штампы для PDF, то можно использовать статью https://infostart.ru/public/1171681/ и комментарии к ней. За основу взять точно можно (хотя на практике иногда не совпадают параметры).
(11) Присоединенная ЭЦП сработала как должно. Новые подписи и штампы не портят предыдущие. В криптопро DSS проверка проходит на ура. Спасибо за помощь.
(11) Поторопился однако :-(. В тонком клиенте работает без проблем. а вот в вебклиенте упорно на команде ЗаписьPDF.ЗаписатьПодписьАсинх выдает "Неправильный путь к файлу". Причем, если формировать отсоединенную подпись, то все ОК. а если присоединенную, то в клиенте ОК, а в вебе ошибка. Пока не могу побороть :-(. Вроде все уже перепробовал. Расширение для работы с файлами стоит и активно.
(13) Справился :-). Оказывается и ЧтениеPDF и ЗаписьPDF нужно открывать асинхронно. Иначе в тонком клиенте работает, а в вебе нет. Причем ошибки не дает, просто не работает и все. 1С - такая 1С :-).
И еще глючок поймал. При проверки сертификата из PDF возвращается вроде бы сертификат, но ни фига. Свойств у него нет. Причем при обращении к свойствам тупо зависает не выдавая ошибку. А вот внешнюю подпись проверяет без вопросов и возвращает полноценный сертификат. Вот такая вот 1С.