Использование 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
- Связанные статьи
Задачи программирования API цифровых подписей XPS
В этом разделе содержатся разделы, описывающие выполнение задач программирования с помощью API цифровой подписи XPS.
Инициализация диспетчера подписей
Подписыв документ
Добавление запроса подписи в документ XPS
Проверка подписей документов
Загрузка сертификата из файла
Убедитесь, что сертификат поддерживает метод сигнатуры
Проверка того, что система поддерживает дайджест-метод
Внедрение цепочек сертификатов в документ
Специальные заметки о программировании API цифровых подписей XPS
В следующих разделах требуется особое внимание при использовании API цифровой подписи XPS.
- Проверка цифровых подписей в документе XPS
- Политика подписи цифровой подписи
- Внедрение цепочки сертификатов
- Использование структуры CERT_CONTEXT
Проверка цифровых подписей в документе XPS
IXpsSignature::Убедитесь, что проверка только подписанное содержимое, чтобы определить, что он не изменился после подписания. IXpsSignature::Verify не проверяет ни один из сертификатов, которые использовались для подписывания содержимого документа.
Дополнительные сведения о сертификатах и шифровании см. в разделе "О шифровании".
Пример проверки подписей документов в программе см. в разделе "Проверка подписей документов и сертификатов".
Политика подписи цифровой подписи
Политика подписи цифровой подписи определяет, какие части документа XPS подписываются. Один из вариантов политики подписи — подписывать связи подписей, начинающиеся с части источника подписи. Так как связи подписей изменяются с каждой добавляемой подписью, подписи, сделанные в этой политике, будут прерываться при добавлении новых подписей. Убедитесь, что вы четко понимаете последствия и последствия настройки этой политики; в противном случае непредвиденное или нежелательное поведение может привести к результату.
Дополнительные сведения о политиках подписывания см. в XPS_SIGN_POLICY.
Внедрение цепочки сертификатов
Сертификаты, составляющие цепочку доверия определенного сертификата, можно добавить в документ XPS. Внедрение этих сертификатов может упростить работу приложения в сценариях вне строки, чтобы проверить сертификаты, которые использует цифровая подпись.
Дополнительные сведения о внедрении сертификатов в документ XPS см. в разделе "Внедрение цепочек сертификатов" в документе.
Использование структуры CERT_CONTEXT
Структуры CERT_CONTEXT и CERT_INFO являются основными структурами данных, в которых хранятся сведения о сертификате. Дополнительные сведения об использовании этих структур см. в разделе "Использование структуры данных CERT_INFO".
CERT_CONTEXT структуры, возвращаемые функциями API шифрования, должны быть освобождены, когда они больше не нужны. Чтобы освободить структуру CERT_CONTEXT, вызовите функцию CertFreeCertificateContext.
См. также