Подписание PDF с отметкой времени: сведения о сертификате не отображаются в свойствах отметки времени

У меня есть код, который реализует сервер TSA в формате RFC 3161. Когда я пытаюсь подписать файл PDF с отметкой времени, используя TSAClientBouncyCastle, я получаю подпись, где не отображаются сведения о сертификате

введите описание изображения здесь

Кто-нибудь знает, как это решить?

Я могу опубликовать код здесь, но я не знаю, какая его часть. Было бы неплохо, если бы кто-то мог направить меня к конкретному разделу в RFC, тогда я опубликую соответствующую часть кода, и мы сможем обсудить это. заранее спасибо

Ссылка на образец PDF-файла https://drive.google.com/file/d/0B61KdyZ43x-9cEk5YVV6WVd4WUU/view?usp=sharing

1 ответ

Решение

Причина, по которой некоторые сведения о полномочиях меток времени не отображаются, указывается в диалоговом окне " Свойства подписи " под диалоговым окном " Дополнительные свойства подписи ", которое находится перед вами на снимке экрана:

Подпись включает встроенную метку времени, но она недействительна

Таким образом, вам необходимо проверять не только код подписи PDF, но также код, который реализует сервер TSA в формате RFC 3161 или сертификаты, которые он использует.

Сертификат TSA

Ваш сертификат TSA недействителен.

Копаясь в вашей подписи, я в итоге взглянул на сертификаты. Оказывается, вы, похоже, используете один и тот же сертификат для подписи подписи и отметки времени. Это не может работать!

Смотри спецификацию:

TSA ДОЛЖЕН подписывать каждое сообщение с отметкой времени ключом, зарезервированным специально для этой цели. TSA МОЖЕТ иметь разные закрытые ключи, например, для размещения разных политик, разных алгоритмов, разных размеров закрытых ключей или для повышения производительности. Соответствующий сертификат ДОЛЖЕН содержать только один экземпляр расширения поля использования расширенного ключа, как определено в разделе 4.2.1.13 [RFC2459], при этом KeyPurposeID имеет значение:

id-kp-timeStamping.  This extension MUST be critical.

( Раздел 2.3. Идентификация TSAв RFC3161)

В частности, ваш пользовательский сертификат не имеет обязательного расширенного ключа, помечающего его как сертификат с отметкой времени.

Другие вопросы по тегам