Résumé
Après l'installation de toutes les mises à jour de sécurité 3141780 (décrites dans le bulletin de sécurité Microsoft MS16-035), les applications .NET Framework pourraient rencontrer des erreurs d'exception ou des défaillances inattendues lorsqu'elles traitent des fichiers qui contiennent du SignedXml.
Plus d'informations
ImportantCette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour plus de sécurité, effectuez une sauvegarde du Registre avant de le modifier. Vous serez alors en mesure de le restaurer en cas de problème. Pour plus d'informations sur la procédure de sauvegarde et de restauration du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
322756Procédure de sauvegarde et de restauration du Registre dans Windows
Scénario 1
Symptômes du scénario 1
Les applications gérées renvoient une exception d'erreur présentant la signature suivante :
System.Security.Cryptography.CryptographicException: Impossible de résoudre l'URI [FileOrUrl].
Exemple System.Security.Cryptography.CryptographicException: Impossible de résoudre l'URI testfile.xml.
Résolution du scénario 1
Les clients peuvent appliquer la clé de Registre suivante à leur système :
Entrée de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1Fichier .Reg disponible au téléchargement
Pour résoudre ce problème, cliquez sur le lien approprié, puis double-cliquez sur le fichier téléchargé pour modifier le Registre. SignedXml-ExternalReferences.reg (processus 32 bits sur un système 32 bits et processus 64 bits sur un système 64 bits) SignedXml-ExternalReferences.Wow6432.reg (processus 32 bits sur un système 64 bits) Remarques
-
Cette entrée de Registre doit être une entrée DWORD.
-
Cette entrée de Registre restaure le précédent comportement d'ouverture et de téléchargement d'une ressource externe au document soumis à vérification pour calculer son Digest.
Avertissement L'activation de cette clé de Registre pourrait entraîner des vulnérabilités de sécurité, notamment un déni de service, un déni de service réfléchi distribué, une divulgation d'informations, un contournement de signature et une exécution de code à distance.
Scénario 2
Symptômes du scénario 2
La vérification de la signature a échoué alors qu'elle devait réussir.
Solution du scénario 2
Si le contenu contient le bloc de signature suivant, envisagez d'appliquer l'entrée de Registre fournie :
Exemple de bloc de signature <Document>…
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116" /></Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>…</DigestValue> </Reference> </SignedInfo> <SignatureValue>…</SignatureValue> </Signature> … </Document> Entrée de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
Fichier .Reg disponible au téléchargement
Pour résoudre ce problème, cliquez sur le lien approprié, puis double-cliquez sur le fichier téléchargé pour modifier le Registre. XmlDSigXPathTransform.reg (processus 32 bits sur un système 32 bits et processus 64 bits sur un système 64 bits)XmlDSigXPathTransform.Wow6432.reg (processus 32 bits sur un système 64 bits) Si le bloc de signature contient le texte suivant, envisagez d'appliquer l'entrée de Registre fournie : Exemple de bloc de signature <Document>
…
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>… </Document> Entrée de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
Fichier .Reg disponible au téléchargement
Pour résoudre ce problème, cliquez sur le lien approprié, puis double-cliquez sur le fichier téléchargé pour modifier le Registre. XmlDSigXsltTransform.reg (processus 32 bits sur un système 32 bits et processus 64 bits sur un système 64 bits)XmlDSigXsltTransform.Wow6432.reg (processus 32 bits sur un système 64 bits) Remarque Par défaut, seules les transformations de signature XML qui sont fournies par .NET Framework et qui n'acceptent pas d'entrées à partir de documents signés sont activées par défaut. Pour activer les transformations qui acceptent des entrées ou les transformations personnalisées, l'URI enregistré pour cette transformation doit être précisé en tant que donnée d'une valeur de type REG_SZ dans la clé de Registre. Le nom de la valeur n'est pas traité. Il peut s'agir d'un nom quelconque choisi par l'administrateur de l'ordinateur. Avertissement Les transformations Xpath et XSLT permettent à l'expéditeur du document de construire des documents onéreux d'un point de vue informatique. Cela pourrait entraîner un refus de service.