Комментарии 28
Документы должны проверяться при получении по хэшу файла что бы можно было проверять чем угодно, а не только адобом. Примерно также как в tortoisehg оверлеи на иконки файлов или через в контекстое меню.
Да и pdf не самый лучший формат файлов. Особенно когда без разбора сканируют в pdf в цвете и чумовых разрешениях.



Но механизм Adobe работы с электронной подписью – это скорее тема для целой отдельной статьи.
Но в данной статье речь шла о том, как купить лицензию только на криптографический провайдер и встроить возможность электронной подписи в информационную систему собственной разработки.
Для масштабного электронного документооборота или в случае с архивами, конечно больше подходит отсоединенная подпись в формате PKCS#7.
Вот ссылка, подтверждающая мои доводы.
Я только что попробовал проделать тоже самое.
Сформировал присоединенную подпись в формате PKCS#7, в SignedData поместил байты PDF документа.
Присвоил файлу контейнеру с подписью расширение PDF и он действительно открылся в Adobe Reader.
Но в нем нет панели Подписи. Нет поля с подписью в теле документа. И не может быть.
Так как процесс формирования подписи иной.
В PKCS#7 мы помещаем неизменный PDF внутрь контейнера CMS.
В случае подписи PDF документа, он сам служит контейнером, который модифицируется.
Ваш эксперимент говорит о том, что умный Adobe Reader умеет читать CMS контейнеры.
В приложенном Вами PDF документе есть одна единственная подпись в формате PDF, но ее сформировали не Вы, а разработчик Adobe:

Но в нем нет панели Подписи. Нет поля с подписью в теле документа. И не может быть.
Я это делал (в качестве эксперимента) лет 5 назад, когда еще свой УЦ делали. Возможно Adobe что то поменяли в своих алгоритмах. А Вы в CMS помещали цепочку сертификатов и списки отозванных сертификатов?
Эксперименты с PDF мы проводили для «архивного хранения» электронных документов — тогда мы в тело PKCS#7-сообщения вкладывали еще и OCSP-ответы и TSS-ответы.
В ответ на Ваши умозаключения приведу свои, тем более что, по-моему, они во многом схожи.
Допустим достаточно солидный временной интервал между тем, как пользователь отправил в УЦ запрос на отзыв своего сертификата, например, в связи с компрометацией закрытого ключа. И моментом, когда УЦ добавит этот сертификат в список отозванных сертификатов и опубликует новый CRL.
Такой разрыв может дать возможность недобросовестному пользователю попытаться отказаться от своей подписи, заявить, что это подписывал уже не он.
Это допустимо, если его подпись не содержала метку времени от доверенного TSP сервера.
Как защищаться от такой ситуации – это архивное хранение и наша архивная электронная подпись с доверенной меткой времени, которую мы поставим на документ пользователя в момент получения.
Думаю, что дальнейшее обсуждение этих деталей будет иметь отдаленной отношения к теме статьи.
Но в этой новости вижу два положительных момента:
1. Функционал Adobe Sign настолько хорош, что его решило использовать Microsoft.
2. Пользуются спросом и развиваются механизмы, назовем их «индивидуальной» электронной подписи в привычных контейнерах офисных документов, как в случае с PDF документами, Microsoft Office документами, PowerPoint и Outlook, когда пользователь подписал — пользователь визуально проверил.
А вот по поводу работы с подписью в облачной инфраструктуре. Могу сказать, что с точки зрения российского законодательства, такую подпись уже нельзя будет считать квалифицированной, по крайне мере, в настоящее время.
Прокомментируйте, пожалуйста эту новость:
«Американские софтверные компании Microsoft и Adobe объявили о расширении сотрудничества, в рамках которого будет реализована интеграция продуктов.
Решение по работе с электронными подписями Adobe Sign встроено в приложения Microsoft Office 365 и будет работать преимущественно в облачной инфраструктуре Microsoft Azure. Это должно обеспечить быструю и безопасную работу электронной подписи в приложениях Office 365, включая Microsoft Word, PowerPoint и Outlook»
Но в этой новости вижу два положительных момента:
1. Функционал Adobe Sign настолько хорош, что его решило использовать Microsoft.
2. Пользуются спросом и развиваются механизмы, назовем их «индивидуальной» электронной подписи в привычных контейнерах офисных документов, как в случае с PDF документами, Microsoft Office документами, PowerPoint и Outlook, когда пользователь подписал — пользователь визуально проверил.
А вот по поводу работы с подписью в облачной инфраструктуре. Могу сказать, что с точки зрения российского законодательства, такую подпись уже нельзя будет считать квалифицированной, по крайне мере, в настоящее время.
Интересно, а вот эти хитрые манипуляции не делают полученную систему не соответсвующей пункту 63-ФЗ:
ст. 5
4. Квалифицированной электронной подписью является электронная подпись, которая соответствует всем признакам неквалифицированной электронной подписи и следующим дополнительным признакам:
...
2) для создания и проверки электронной подписи используются средства электронной подписи, имеющие подтверждение соответствия требованиям, установленным в соответствии с настоящим Федеральным законом.
Или достаточно одного маленького куска CryptoPro JCP в проекте и уже "используются" нужные СЭП?
Здравствуйте!
Совершенно верно, манипуляции с библиотекой itextpdf_patched-5.1.3.jar крайне сомнительны с точки зрения прохождения проверок регуляторов и в случае разбора конфликтных ситуаций. Но статье 6 лет. С тех пор появилась библиотека itextpdf_patched-5.5.5.jar, которую включают в состав сборок КриптоПро JavaCSP. Надеюсь там ни чего патчить уже не надо, но сам я не проверял. PDF подпись так и осталась мало популярной для использования в автоматизированных системах.
Как на Java c помощью КриптоПро подписать документ PDF