Создать и подписать PDF с цифровой подписью, которая имеет дату и время - PullRequest
0 голосов
/ 30 ноября 2018

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

Я только начал новый проект (в MS MVC / asp.net), где мне нужно создать юридический документ, а затемприкрепить то, что мои заинтересованные стороны называют «цифровой подписью», но из того, что они описывают, я думаю, что это просто видимое изображение подписи, которое добавляется в PDF и где-то сохраняется.Я не думаю, что это имеет такой уровень юридической силы, как должно.Возможно, сейчас это не так важно, поскольку официальная запись будет распечаткой документа.Но мы хотим перейти к цифровому хранилищу, поэтому мне нужно что-то выполнимое в будущем.

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

Может кто-нибудь предложить хороший урок для этого?Мне нужно добавить официальную цифровую подпись и видимую подпись.

Ответы [ 3 ]

0 голосов
/ 03 декабря 2018

Мки, на ваш комментарий о сертификатах AATL, основанных на профиле Терри и имени, которое он находится в США, и поэтому он не получает никакой выгоды от законодательного органа eIDAS, и даже если бы он не был для большинства сопоставимых акробатов, он хотел бы получитьквалифицированный сертификат, который был также AATL.Также и GobalSign, и DigiCert либо объявили о наличии квалифицированных сертификатов, либо объявили о приобретении CA, который их предлагает, поэтому, если они ему нужны, он может их получить.Начало работы с AATL или квалифицированным сертификатом потребует затрат и вовлечения в продажи, что приведет к замедлению перехода к рабочему решению.

0 голосов
/ 13 декабря 2018

Краткий ответ.Ваше предположение в основном верно.Цифровая подпись в большинстве случаев не видна и не может быть распечатана.
Однако, по крайней мере, при использовании Adobe Acrobat вы можете выбрать, какое изображение вы хотите отображать в качестве «подписи».По умолчанию это просто поле, в котором есть имя подписавшегося, дата и другие данные, но вы можете, если вам действительно нужно, вставить изображение своей аналоговой подписи.Используйте это только в том случае, если вам действительно нужно распечатать документ.

Существует также вопрос о подписании файла в стеке безопасности: https://security.stackexchange.com/questions/198423/what-does-signing-a-file-really-mean

0 голосов
/ 03 декабря 2018

Холтер, то, что вы хотите сделать, это применить так называемую подпись PAdES к документу PDF.Для этого вам понадобится библиотека, которая знакома с PAdES и PDF.

Для этого вам понадобится библиотека, которая поддерживает эти стандарты, самостоятельная генерация, конечно, выполнима, но занимает много времени.Наиболее распространенная библиотека PDF, используемая с поддержкой C #, вероятно, iText .

Существует также пакет nuget, который LGPLed .

Что происходитв цифровой подписи нет точного шифрования.«Цифровая подпись» в этом контексте означает, что в какой-то момент вы зарегистрировались для получения сертификата X.509, этот сертификат связывает имя с закрытым ключом.По сути, он говорит, что «владельцем этого ключа является Фред».

Затем вы хешируете документ (отдельные части документа) и шифруете этот хеш с помощью закрытого ключа сертификатов.Этот зашифрованный хеш является «подписью» на документе.Затем он внедряется в структуру, называемую CMS, эта CMS также получает копию сертификата, связанного с подписью, и включает некоторые другие метаданные (например, CRL, OCSP и т. Д.).

iText будет обрабатывать большую часть этогодля вас, и у них есть образец, который точно описывает, как это сделать.

Вам нужно будет получить сертификат откуда-нибудь, проще всего начать, вероятно, с регистрации бесплатного * S-MIME-сертификата от sectgo.com этому сертификату не будет доверять Adobe Acrobat (наиболее часто используемое средство просмотра PDF, когда используются цифровые подписи), но кроме этого ваши потребности будут удовлетворены без необходимости больше узнавать о сертификатах.

Когда вы идете в производство, вы хотите получить так называемый сертификат AATL, вы можете получить их из разных мест, включая GlobalSign и DigiCert

...