Nachdem Sie Sicherheitsupdates 3141780 angewendet haben, treten bei .NET Framework Anwendungen Ausnahmefehler oder unerwartete Fehler bei der Verarbeitung von Dateien auf, die SignedXml enthalten.

Gilt für
.NET Framework 4.6.1 .NET Framework 4.6.2 .NET Framework 3.5.1

Zusammenfassung

Nachdem Sie eines der 3141780 Sicherheitsupdates installiert haben (siehe Microsoft-Sicherheitsbulletin MS16-035), können .NET Framework Anwendungen Ausnahmefehler oder unerwartete Fehler bei der Verarbeitung von Dateien mit SignedXml auftreten.

Weitere Informationen

Wichtig: Dieser Abschnitt, diese Methode oder Aufgabe enthält Schritte, die Ihnen sagen, wie Sie die Registrierung ändern. Es können jedoch schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie deshalb sicher, dass Sie diese Schritte sorgfältig ausführen. Als zusätzlichen Schutz erstellen Sie eine Sicherung der Registrierung, bevor Sie sie ändern. So ist gewährleistet, dass Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Erstellen und Wiederherstellen einer Sicherungskopie der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:

322756 Sichern und Wiederherstellen der Registrierung in Windows

Szenario 1

Szenario 1 Symptome

Verwaltete Anwendungen geben eine Fehler-Ausnahme mit der folgenden Signatur zurück:

Hinweis

System.Security.Cryptography.CryptographicException: URI [FileOrUrl] kann nicht aufgelöst werden.

                
Beispiel

System.Security.Cryptography.CryptographicException: URI testfile.xml kann nicht aufgelöst werden.

Lösung für Szenario 1

Kunden können den folgenden Registrierungsschlüssel auf ihr System anwenden:

Registrierungseintrag

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1

. Registrierungsdatei zum Download verfügbar

Um dieses Problem zu beheben, klicken Sie auf den entsprechenden Link, und doppelklicken Sie dann auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.

SignedXml-ExternalReferences.reg (32-Bit-Prozess auf 32-Bit-System und 64-Bit-Prozess auf 64-Bit-System)

SignedXml-ExternalReferences.Wow6432.reg (32-Bit-Prozess auf einem 64-Bit-System)

Notizen

  • Dieser Registrierungseintrag sollte ein DWORD-Eintrag sein.
  • Dieser Registrierungseintrag stellt das vorherige Verhalten des Öffnens oder Herunterladens einer Ressource wieder her, die sich außerhalb des Dokuments befindet, das überprüft wird, um ihren Digest zu berechnen.

Warnung Das Aktivieren dieses Registrierungsschlüssels kann Sicherheitsrisiken wie Denial of Service, Denial of Service, Denial of Service, Offenlegung von Informationen, Signaturumgehung und Remotecodeausführung ermöglichen.

Szenario 2

Szenario 2 Symptome

Die Signaturüberprüfung schlägt fehl, wenn ein Erfolg erwartet wurde.

Lösung für Szenario 2

Wenn der Inhalt den folgenden Signaturblock enthält, sollten Sie den bereitgestellten Registrierungseintrag anwenden:

Signaturblockbeispiel

<Dokument>

<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> ...

</Dokument>

Registrierungseintrag

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116

. Registrierungsdatei zum Download verfügbar

Um dieses Problem zu beheben, klicken Sie auf den entsprechenden Link, und doppelklicken Sie dann auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.

XmlDSigXPathTransform.reg (32-Bit-Prozess auf 32-Bit-System und 64-Bit-Prozess auf 64-Bit-Systemen)

XmlDSigXPathTransform.Wow6432.reg (32-Bit-Prozess auf einem 64-Bit-System)

Wenn der Signaturblock den folgenden Text enthält, sollten Sie den bereitgestellten Registrierungseintrag anwenden:

Signaturblockbeispiel

<Dokument>

<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>...
</Dokument>

Registrierungseintrag

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116

. Registrierungsdatei zum Download verfügbar

Um dieses Problem zu beheben, klicken Sie auf den entsprechenden Link, und doppelklicken Sie dann auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.

XmlDSigXsltTransform.reg (32-Bit-Prozess auf 32-Bit-System und 64-Bit-Prozess auf 64-Bit-System)

XmlDSigXsltTransform.Wow6432.reg (32-Bit-Prozess auf einem 64-Bit-System)

Hinweis Standardmäßig sind nur die XML-Signaturtransformationen aktiviert, die vom .NET Framework bereitgestellt werden und keine Eingaben aus dem signierten Dokument akzeptieren. Um eingabeakzeptierende Transformationen oder benutzerdefinierte Transformationen zu aktivieren, muss der registrierte URI für diese Transformation als Daten eines REG_SZ typisierten Werts in diesem Registrierungsschlüssel angegeben werden. Der Name des Werts wird nicht verarbeitet, und es kann ein beliebiger Wert sein, den der Computeradministrator auswähelt.

Warnung Die XPath- und XSLT-Transformationen ermöglichen es dem Absender des Dokuments, Dokumente zu erstellen, die rechenintensiv sind. Dies kann zu einer Denial-of-Service-Situation führen.