#c# #.net #adobe #digital-signature #abcpdf
#c# #.net #adobe #цифровая подпись #abcpdf
Вопрос:
У меня есть файл PDF, который подписывается Adobe Sign. Однако я не могу проверить / валидировать подпись с помощью ABCpdf. Думаю, для этого мне не хватает корневого сертификата. Как я могу найти корневой сертификат для Adobe Sign. У меня есть корневой сертификат для всех других поставщиков, таких как Digicert, Global sign. Кроме того, все другие поставщики подписи работают нормально.
if ((signature.Validate(collection)) amp;amp; (!signature.IsModified))
{
isValid = true;
}
try
{
isValid = signature.Validate();
}
catch (WebSupergoo.ABCpdf11.Internal.PDFException)
{
return ESignedStatus.SignedTempered;
}
var certs = signature.GetCertificates();
if (!signature.IsTrusted)
return ESignedStatus.SignedUnverified;
else if (!isValid)
return ESignedStatus.SignedTempered;
Ответ №1:
Я полагаю, что ваш ответ здесь:https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/validate.htm
Как Adobe Reader проверяет документ PDF без файлов сертификатов?
Вы можете обнаружить, что Adobe Reader не нуждается в списке файлов сертификатов для проверки документов PDF. Это связано с тем, что Adobe Reader может использовать несколько встроенных иерархий инфраструктуры открытых ключей для сертификации документов PDF:
Службы сертифицированных документов (CDS) — это иерархия доверия, которая подключается к корневому центру сертификации Adobe (Adobe Root CA). Список доверия, одобренный Adobe (AATL), представляет собой дополнительный список сертификатов CA, которые Adobe Reader может периодически загружать из Adobe (для Adobe Reader / Acrobat 9 или более поздней версии). Хранилище сертификатов Windows. Это верно только в том случае, если в Acrobat включена интеграция с цифровой подписью Windows, которая не используется по умолчанию с Acrobat 9. Для проверки PDF-документа тем же способом, что и Adobe Reader, вам необходимо использовать те же сертификаты, что и он. Этого можно легко достичь, экспортировав доверенные идентификаторы из Adobe Reader в файлы сертификатов формата .cer. (Примечание: сертификаты CDS и AATL обычно отсутствуют в вашем хранилище сертификатов Windows по умолчанию.).
Затем их необходимо поместить в хранилище сертификатов Windows. Чтобы им можно было доверять, они должны находиться в одной из папок Trusted — Доверенные люди или доверенные корневые центры сертификации. Излишне говорить, что добавление элементов в эти папки, особенно в последнюю, имеет большое значение, и вы должны быть очень осторожны, чтобы убедиться, что вы знаете, что делаете.
Доступ к хранилищу сертификатов Windows можно получить с помощью System.Безопасность.Cryptography.X509Certificates.X509Store (примеры ниже).