Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau et les périphériques AIR pour TV, mais ne l’est pas sur les périphériques mobiles. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
La classe XMLSignatureValidator implémente un sous-ensemble de la recommandation du W3C portant sur la syntaxe et le traitement de XML Signature, bien que ce dernier ne doive pas être considéré comme une implémentation normalisée. Le sous-ensemble de la recommandation pris en charge inclut les éléments suivants :
Vous devez fournir une implémentation IURIDereferencer pour vérifier une signature XML. Cette classe d’implémentation est chargée de résoudre les URI (Uniform Resource Identifier) spécifiés dans les éléments SignedInfo du fichier de signature, puis de renvoyer les données référencées dans un objet, tel que ByteArray, qui implémente l’interface IDataInput.
Pour vérifier que le certificat de signature est lié à un certificat approuvé, deux possibilités s’offrent à vous : soit la signature XML doit contenir les certificats requis pour créer la chaîne dans les éléments X509Certificate, soit vous devez fournir les certificats requis pour créer la chaîne à l’aide de la méthode
Pour vérifier une signature XML :
A propos de l’état des signatures :
Une signature XML peut présenter un état « valid » (valide), non « invalid » (non valide) ou « unknown » (inconnu). L’état général dépend de l’état de vérification des composants individuels du fichier de signature :
L’état de la signature indiqué par la propriété
Restrictions concernant la mise en forme canonique :
Le moteur XML d’AIR ne produit pas toujours la chaîne XML attendue lors de la mise en forme canonique d’un document XML. Pour cette raison, nous vous recommandons d’éviter d’insérer des espaces blancs entre les éléments dans les documents de signature enveloppés ou séparés et de ne pas redéfinir les espaces de noms au sein d’un document de signature. Dans les deux cas, AIR peut de ne pas recréer le document avec la même séquence de caractères que celle du document original, ce qui risque d’entraîner l’échec de la validation.
Un événement
Vous devez définir la propriété
Le certificat ajouté doit être un certificat x509 codé en DER.
Si le paramètre
Remarque : une signature XML peut inclure des certificats permettant de créer la chaîne de certificats du signataire. Par défaut, la classe XMLSignatureValidator utilise ces certificats pour la création de chaînes, et non comme racines de confiance.
La vérification est asynchrone. L’objet XMLSignatureValidator distribue un événement
Il est impossible d’annuler la procédure de vérification. Lorsqu’une vérification est en cours, les appels suivants à la méthode
Remarque : étant donné que l’objet XMLSignatureValidator implémente uniquement un sous-ensemble de la recommandation du W3C portant sur la syntaxe et le traitement des signatures XML, toutes les signatures XML valides ne peuvent pas être vérifiées.
Le statut est :
Remarque : si
Les états possibles sont les suivants :
Les certificats ajoutés à l’aide de la méthode
Remarque : si
Les états possibles sont les suivants :
Important : les ressources externes ne sont pas vérifiées, à moins qu’elles ne soient référencées directement dans un élément SignedInfo au sein du document de signature. Les ressources externes désignées par une référence secondaire ne sont pas vérifiées. Par exemple, si une signature XML signe un élément manifest, seule l’intégrité de l’élément manifest est vérifiée. Les fichiers répertoriés dans le manifeste ne sont pas vérifiés.
Utilisez les constantes définies dans la classe ReferencesValidationSetting pour définir cette propriété. Les paramètres sont les suivants :
Utilisez le paramètre par défaut,
Utilisez le paramètre
Utilisez le paramètre
Utilisez les constantes définies dans la classe RevocationSettings pour définir cette propriété. Les paramètres sont les suivants :
Chaque utilisation avancée de la clé est indiquée sous forme d’identificateur d’objet numérique.
Les paramètres d’approbation proviennent du système et des identificateurs d’objets incorporés dans le certificat. Les constantes des chaînes représentant les paramètres d’approbation reconnus sont définies dans la classe SignerTrustSettings.
Le tableau
La modification du tableau ne permet pas de modifier les paramètres d’approbation du certificat.
Vous devez fournir une implémentation de IURIDereferencer avant de vérifier une signature.
Si la valeur
La signature XML est vérifiée en validant la signature cryptographique de l’élément SignedInfo, le certificat de signature et les données transmises par les références dans l’élément SignedInfo. La validité de ces éléments est indiquée individuellement par les propriétés
Une signature XML peut présenter un état « valid » (valide), non « invalid » (non valide) ou « unknown » (inconnu). L’état général dépend de l’état de vérification des composants individuels du fichier de signature :
L’état de la signature indiqué par la propriété
L’implémentation IURIDereferencer est chargée de résoudre les URI spécifiés dans les éléments SignedInfo d’un fichier de signature XML, puis de renvoyer les données référencées dans un objet, tel que ByteArray, qui implémente l’interface IDataInput.
L’interface dispose d’une méthode :
L’interface IURIDereferencer est utilisée avec la classe XMLSignatureValidator.
Indique qu’une tentative de validation du certificat a échoué, car la période de validité du certificat est soit avant soit après la date actuelle. Sur certains systèmes d’exploitation, l’état
Indique qu’une tentative de validation de certificat a eu lieu, mais a échoué car la chaîne d’approbation du certificat n’était pas valide.
Indique qu’une tentative de validation de certificat a eu lieu, mais a échoué. Il s’agit de l’état d’échec générique signalé lorsqu’il est impossible de déterminer l’état d’un certificat spécifique.
Indique qu’un certificat n’est pas encore valide. La date actuelle est antérieure à la date/heure notBefore du certificat.
Indique qu’une tentative de validation de certificat a eu lieu, mais a échoué car le nom commun du certificat ne correspond pas au nom de domaine complet de l’hôte.
Indique qu’une tentative de validation de certificat a échoué, car le certificat a été révoqué. Sur certains systèmes d’exploitation, l’état
Indique que le certificat n’a pas expiré, qu’il a survécu à une vérification de révocation et qu’il est lié à un certificat racine approuvé.
Indique qu’un certificat n’a pas encore été validé.
Indique qu’une tentative de validation de certificat a échoué, car le certificat n’est lié à aucun des certificats racine situés dans le magasin d’approbations du client. Sur certains systèmes d’exploitation, l’état