Поделиться через


Использование API цифровых подписей XPS

В этом разделе перечислены рекомендации по использованию API цифровой подписи XPS для добавления цифровых подписей в документ XPS.

API цифровой подписи XPS позволяет приложениям запрашивать пользователям подписывать документы XPS и проверять подписи, найденные в документах XPS. API цифровой подписи XPS можно применить к документу XPS, не загружая его в OM XPS, и его можно использовать в потоках документов XPS, сериализованных из OM XPS.

В разделе "Задачи программирования API цифровой подписи XPS" содержатся разделы, описывающие, как программировать с помощью API цифровой подписи XPS. В этом разделе перечислены следующие рекомендации по использованию API цифровой подписи XPS при добавлении поддержки цифровой подписи в приложение.

Задачи программирования API цифровых подписей XPS

В этом разделе содержатся разделы, описывающие выполнение задач программирования с помощью API цифровой подписи XPS.

Инициализация диспетчера подписей
Подписыв документ
Добавление запроса подписи в документ XPS
Проверка подписей документов

Загрузка сертификата из файла
Убедитесь, что сертификат поддерживает метод сигнатуры
Проверка того, что система поддерживает дайджест-метод
Внедрение цепочек сертификатов в документ

Специальные заметки о программировании API цифровых подписей XPS

В следующих разделах требуется особое внимание при использовании API цифровой подписи XPS.

Проверка цифровых подписей в документе XPS

IXpsSignature::Убедитесь, что проверка только подписанное содержимое, чтобы определить, что он не изменился после подписания. IXpsSignature::Verify не проверяет ни один из сертификатов, которые использовались для подписывания содержимого документа.

Дополнительные сведения о сертификатах и шифровании см. в разделе "О шифровании".

Пример проверки подписей документов в программе см. в разделе "Проверка подписей документов и сертификатов".

Политика подписи цифровой подписи

Политика подписи цифровой подписи определяет, какие части документа XPS подписываются. Один из вариантов политики подписи — подписывать связи подписей, начинающиеся с части источника подписи. Так как связи подписей изменяются с каждой добавляемой подписью, подписи, сделанные в этой политике, будут прерываться при добавлении новых подписей. Убедитесь, что вы четко понимаете последствия и последствия настройки этой политики; в противном случае непредвиденное или нежелательное поведение может привести к результату.

Дополнительные сведения о политиках подписывания см. в XPS_SIGN_POLICY.

Внедрение цепочки сертификатов

Сертификаты, составляющие цепочку доверия определенного сертификата, можно добавить в документ XPS. Внедрение этих сертификатов может упростить работу приложения в сценариях вне строки, чтобы проверить сертификаты, которые использует цифровая подпись.

Дополнительные сведения о внедрении сертификатов в документ XPS см. в разделе "Внедрение цепочек сертификатов" в документе.

Использование структуры CERT_CONTEXT

Структуры CERT_CONTEXT и CERT_INFO являются основными структурами данных, в которых хранятся сведения о сертификате. Дополнительные сведения об использовании этих структур см. в разделе "Использование структуры данных CERT_INFO".

CERT_CONTEXT структуры, возвращаемые функциями API шифрования, должны быть освобождены, когда они больше не нужны. Чтобы освободить структуру CERT_CONTEXT, вызовите функцию CertFreeCertificateContext.

Общие задачи программирования цифровой подписи

Дополнительные задачи программирования цифровой подписи

CERT_CONTEXT

CERT_INFO

CertFreeCertificateContext

XPS_SIGN_POLICY

Спецификация XML-бумаги