Riepilogo
Dopo avere installato uno degli aggiornamenti della protezione 3141780 (descritti nel Bollettino Microsoft sulla sicurezza MS16-035), applicazioni.NET Framework potrebbero verificarsi errori o errori imprevisti durante l'elaborazione di file che contengono SignedXml.
Ulteriori informazioni
Importante Questa sezione, metodo o attività contiene passaggi su come modificare il Registro di sistema. Tuttavia, una modifica errata del registro di sistema potrebbe causare gravi problemi. Pertanto, assicurarsi di seguire attentamente i passaggi. Per maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Cosicché sia possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e ripristinare il Registro di sistema, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
322756 Eseguire il backup e ripristino del Registro di sistema in Windows
Scenario 1
Sintomi scenario 1
Gestione applicazioni restituito un errore di eccezione che ha la seguente firma:
System.Security.Cryptography.CryptographicException: Impossibile risolvere l'Uri [FileOrUrl].
Esempio
System.Security.Cryptography.CryptographicException: Impossibile risolvere l'Uri testfile.xml.
Risoluzione di scenario 1
Gli utenti possono applicare la seguente chiave del Registro di sistema per il proprio sistema:
Voce del Registro di sistema
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1
. REG più recente disponibile per il download
Per risolvere questo problema, fare clic sul collegamento appropriato e quindi fare doppio clic sul file scaricato per apportare le modifiche del Registro di sistema.
SignedXml-ExternalReferences.reg (processo a 32 bit su sistema a 32 bit) e processo a 64 bit su sistemi a 64 bit
SignedXml-ExternalReferences.Wow6432.reg (processo a 32 bit su sistemi a 64 bit)
Note
-
Questa voce del Registro di sistema deve essere una voce DWORD.
-
Questa voce del Registro di sistema consente di ripristinare il precedente comportamento di apertura o il download di una risorsa esterna al documento in fase di verifica per calcolare il digest.
Avviso Vulnerabilità della protezione inclusi Denial of Service, Distributed Reflection Denial of Service, intercettazione di informazioni personali, esclusione di firma e l'esecuzione di codice in modalità remota potrebbe consentire l'attivazione di questa chiave del Registro di sistema.
Scenario 2
Sintomi scenario 2
Verifica della firma ha esito negativo quando l'esito previsto.
Risoluzione di scenario 2
Se il contenuto include il seguente blocco di firma, è consigliabile applicare la voce del Registro di sistema fornito:
Esempio di blocco di firma
<Document>
…
< firma xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< algoritmo CanonicalizationMethod = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod algoritmo = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< riferimento URI = "..." >
<Transforms>
< trasformare algoritmo = "http://www.w3.org/TR/1999/REC-xpath-19991116" / ></Transforms>< algoritmo DigestMethod = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Voce del Registro di sistema
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
. REG più recente disponibile per il download
Per risolvere questo problema, fare clic sul collegamento appropriato e quindi fare doppio clic sul file scaricato per apportare le modifiche del Registro di sistema.
XmlDSigXPathTransform.reg (processo a 32 bit su sistema a 32 bit) e processo a 64 bit su sistemi a 64 bit
XmlDSigXPathTransform.Wow6432.reg (processo a 32 bit su sistemi a 64 bit)
Se il blocco di firma contiene il testo seguente, è consigliabile applicare la voce del Registro di sistema fornito:
Esempio di blocco di firma
<Document>
…
< firma xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< algoritmo CanonicalizationMethod = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod algoritmo = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< riferimento URI = "..." >
<Transforms>
< trasformare algoritmo = "http://www.w3.org/TR/1999/REC-xslt-19991116" / ></Transforms>< algoritmo DigestMethod = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Voce del Registro di sistema
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
. REG più recente disponibile per il download
Per risolvere questo problema, fare clic sul collegamento appropriato e quindi fare doppio clic sul file scaricato per apportare le modifiche del Registro di sistema.
XmlDSigXsltTransform.reg (processo a 32 bit su sistema a 32 bit) e processo a 64 bit su sistemi a 64 bit
XmlDSigXsltTransform.Wow6432.reg (processo a 32 bit su sistemi a 64 bit)
Nota: Per impostazione predefinita, sono attivate solo tali firma le trasformazioni XML che vengono fornite da di.NET Framework e non accettano input dal documento firmato. Per attivare le trasformazioni di accettazione di input o trasformazioni personalizzate, è necessario specificare l'URI registrato per la trasformazione dei dati di un valore REG_SZ tipizzate all'interno di questa chiave del Registro di sistema. Il nome del valore non viene elaborato e può essere qualsiasi cosa che sceglie l'amministratore del computer.
Avviso Le trasformazioni XPath e XSLT consentono il mittente del documento creare documenti che sono onerose. Ciò potrebbe causare una situazione di tipo Denial of Service.