Я прочитал электронный текст цифровой подписи I-TEXT, а также предыдущие сообщения, на которые ответил MKL (который, кажется, является авторитетом вместе с Бруно в этом топе c). у вас есть служба приложений Azure, которая получает цифровую подпись (base 64) и цепочку сертификатов из API подписи компании. API подписи компании возвращает подпись в Base64 вместе с цепочкой сертификатов.
Я просто хочу вставить объект / контейнер подписи в pdf, чтобы он отображался на панели подписи, когда конечный пользователь открывает pdf. Я предпочитаю использовать отложенное подписание. * API компании возвращает "простую" подпись, в чем я почти уверен, а также возвращает цепочку из трех строковых сертификатов.
Я должен отметить, что у меня есть root и дополнительные сертификаты заранее (2 .cer файлы), но я не использую их для «подготовки» PDF-файла к хешированию прямо сейчас, поскольку в примере с отложенной подписью они явно не используются. Для кода построения контейнера (после получения ответа от API компании) я использую цепочку из 3 сертификатов, возвращенную из API компании, но я также пробовал ее с двумя файлами .cer, но безрезультатно.
Единственная разница между моим кодом и кодом в примере - это вместо byte [] certificateBytes = THE_RETRIEVED_CERTIFICATE_BYTES; X509Certificate x509Certificate = новый X509CertificateParser (). ReadCertificate (certificateBytes); Я создаю 3 сертификата x509Certificates (по одному для каждой строки в цепочке, возвращаемой API компании.
К сожалению, все не работает, я получаю эти ошибки в Acrobat: подпись недействительна, есть ошибки в форматировании или информации, содержащейся в эта подпись, идентичность подписи еще не проверена, время подписи определяется по часам на компьютере подписывающей стороны ... также, если я нажимаю "Сведения о сертификате" чуть ниже этой ошибки в Acrobat, она пуста. Это были почти те ошибки, которые я получал при попытке использовать «пример clientserversigning»
я очень стараюсь и задаюсь вопросом, что это может быть ... попробовать изменить расчетный размер с 12000 и увеличить его? или ошибки, которые я получаю в Acrobat, возможно, они намекают, что цепочка сертификатов из API компании не улавливается кодом построения отложенного контейнера подписи ... Я борюсь, но любые советы были бы очень признательны
Evan
Чтобы прояснить, я следую примеру clientserversigning из главы 4, но после воссоздания моего PDF-файла с подписью из API компании я получаю следующее:
полученный PDF-файл неправильно подписан
Его поговорка 1) есть ошибки в форматировании информации 2) личность подписавшего не проверена 3) время подписи определяется по часам на компьютере подписавшего
теперь до "подготовки" "PDF-файл перед хешированием для отправки на подпись ... Я не вижу в примере ClientSigning ничего, что специально его готовит, могу ли я предположить, что библиотека IText готовит его под капотом?