Partager via


Utilisation de l’API de signature numérique XPS

Cette rubrique répertorie les considérations relatives à l’utilisation de l’API Signature numérique XPS pour ajouter des signatures numériques à un document XPS.

L’API Signature numérique XPS permet aux applications de demander aux utilisateurs de signer des documents XPS et de vérifier les signatures trouvées dans les documents XPS. L’API Signature numérique XPS peut être appliquée à un document XPS sans le charger dans un OM XPS, et il peut être utilisé sur des flux de documents XPS sérialisés à partir d’un OM XPS.

La section Tâches de programmation de l’API Signature numérique XPS contient des rubriques qui décrivent comment programmer avec l’API Signature numérique XPS. Cette rubrique répertorie les considérations suivantes relatives à l’utilisation de l’API Signature numérique XPS lors de l’ajout de la prise en charge des signatures numériques à une application.

Tâches de programmation de l’API Signature numérique XPS

Cette section contient des rubriques qui décrivent comment effectuer des tâches de programmation à l’aide de l’API Signature numérique XPS.

Initialiser le gestionnaire de signatures
Signer un document
Ajouter une demande de signature à un document XPS
Vérifier les signatures du document

Chargement d’un certificat à partir d’un fichier
Vérifier qu’un certificat prend en charge une méthode de signature
Vérifier que le système prend en charge une méthode Digest
Incorporer des chaînes de certificats dans un document

Remarques spéciales sur la programmation de l’API Signature numérique XPS

Les rubriques suivantes nécessitent une considération particulière lorsque vous utilisez l’API Signature numérique XPS.

Vérification des signatures numériques dans un document XPS

IXpsSignature::Verify vérifie uniquement le contenu signé pour déterminer qu’il n’a pas changé depuis sa signature. IXpsSignature::Verify ne vérifie pas les certificats utilisés pour signer le contenu du document.

Pour plus d’informations sur les certificats et le chiffrement, consultez À propos du chiffrement.

Pour obtenir un exemple de vérification des signatures d’un document dans un programme, consultez Vérifier les signatures et certificats d’un document.

Stratégie de signature numérique

La stratégie de signature numérique détermine quelles parties d’un document XPS sont signées. Une option de stratégie de signature consiste à signer les relations de signature qui commencent à partir de la partie d’origine de la signature. Étant donné que les relations de signature changent avec chaque signature ajoutée, les signatures effectuées sous cette stratégie s’interrompent lorsque de nouvelles signatures sont ajoutées. Assurez-vous que vous comprenez clairement les implications et les effets de la définition de cette stratégie ; sinon, un comportement inattendu ou non souhaité peut se produire.

Pour plus d’informations sur les stratégies de signature, consultez XPS_SIGN_POLICY.

Incorporation d’une chaîne de certificats

Les certificats qui composent la chaîne d’approbation d’un certificat spécifique peuvent être ajoutés à un document XPS. Dans des scénarios hors ligne, l’incorporation de ces certificats peut faciliter la vérification des certificats utilisés par une signature numérique par l’application.

Pour plus d’informations sur l’incorporation de certificats dans un document XPS, consultez Incorporer des chaînes de certificats dans un document.

Utilisation de la structure CERT_CONTEXT

Les structures CERT_CONTEXT et CERT_INFO sont les principales structures de données qui contiennent les informations du certificat. Pour plus d’informations sur l’utilisation de ces structures, consultez Utilisation d’une structure de données CERT_INFO.

Les structures CERT_CONTEXT retournées par les fonctions de l’API Crypto doivent être libérées lorsqu’elles ne sont plus nécessaires. Pour libérer une structure CERT_CONTEXT, appelez la fonction CertFreeCertificateContext.

Tâches courantes de programmation de signature numérique

Tâches de programmation de signature numérique supplémentaires

CERT_CONTEXT

CERT_INFO

CertFreeCertificateContext

XPS_SIGN_POLICY

XML Paper Specification