Zusammenfassung
Nach der Installation der Sicherheitsupdates 3141780 (die in Microsoft-Sicherheitsbulletin MS16-035 beschrieben sind) können in .NET Framework während der Verarbeitung von Dateien, die SignedXml enthalten, Ausnahmefehler oder unerwartete Fehler auftreten.
Weitere Informationen
HochDieser Abschnitt bzw. die Methoden- oder Aufgabenbeschreibung enthält Hinweise zum Ändern der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Als Schutzmaßnahme sollten Sie vor der Bearbeitung der Registrierung eine Sicherungskopie erstellen. So ist gewährleistet, dass Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756Sichern und Wiederherstellen der Registrierung in Windows
Szenario 1
Symptome in Szenario 1
Verwaltete Anwendungen geben eine Fehlerausnahme zurück, die folgende Signatur aufweist:
System.Security.Cryptography.CryptographicException: URI [FileOrUrl] konnte nicht aufgelöst werden.
Beispiel
System.Security.Cryptography.CryptographicException: URI testfile.xml konnte nicht aufgelöst werden.
Lösung für Szenario 1
Die Benutzer können den folgenden Registrierungsschlüssel auf Ihr System übernehmen:
Registrierungseintrag
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1
REG-Datei zum Herunterladen verfügbar
Um dieses Problem zu lösen, klicken Sie auf den entsprechenden Link, und anschließend doppelklicken Sie auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.
SignedXml-ExternalReferences.reg (32-Bit-Prozess auf 32-Bit-Systemen und 64-Bit-Prozess auf 64-Bit-Systemen)
SignedXml-ExternalReferences.Wow6432.reg (32-Bit-Prozess auf 64-Bit-Systemen)
Hinweise
-
Dieser Registrierungseintrag sollte einen DWord-Eintrag enthalten.
-
Mit diesem Registrierungseintrag wird das vorherige Verhalten wiederhergestellt, sodass beim Öffnen oder Herunterladen einer externen Ressource des Dokuments diese durch die Berechnung des Digest überprüft wird.
Warnung Durch die Aktivierung dieses Registrierungsschlüssels können Sicherheitsrisiken eingeführt werden, die Denial-of-Service-Angriffe, Distributed-Reflected-Denial-of-Service-Angriff, die Offenlegung von Informationen, die Umgehung von Signaturen und Remotecodeausführung ermöglichen können.
Szenario 2
Symptome in Szenario 2
Die Überprüfung der Signatur schlägt fehl, obwohl sie erfolgreich sein sollte.
Lösung für Szenario 2
Wenn der Inhalt den folgenden Signaturblock enthält, sollten Sie den folgenden Registrierungseintrag übernehmen:
Signaturblockbeispiel
<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>
Registrierungseintrag
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
REG-Datei zum Herunterladen verfügbar
Um dieses Problem zu lösen, klicken Sie auf den entsprechenden Link, und anschließend doppelklicken Sie auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.
XmlDSigXPathTransform.reg (32-Bit-Prozess auf 32-Bit-Systemen und 64-Bit-Prozess auf 64-Bit-Systemen)
XmlDSigXPathTransform.Wow6432.reg (32-Bit-Prozess auf 64-Bit-Systemen)
Wenn der Inhalt den folgenden Signaturblock enthält, sollten Sie den folgenden Registrierungseintrag übernehmen:
Signaturblockbeispiel
<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>
Registrierungseintrag
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
REG-Datei zum Herunterladen verfügbar
Um dieses Problem zu lösen, klicken Sie auf den entsprechenden Link, und anschließend doppelklicken Sie auf die heruntergeladene Datei, um die Registrierungsänderungen vorzunehmen.
XmlDSigXsltTransform.reg (32-Bit-Prozess auf 32-Bit-Systemen und 64-Bit-Prozess auf 64-Bit-Systemen)
XmlDSigXsltTransform.Wow6432.reg (32-Bit-Prozess auf 64-Bit-Systemen)
Hinweis Standardmäßig werden nur die XML-Signaturtransformationen aktiviert, die von .NET Framework bereitgestellt werden und keine Eingaben von signierten Dokumenten akzeptieren. Um benutzerdefinierte Transformationen oder Transformationen, die Eingaben akzeptieren, zu aktivieren, geben Sie in diesem Registrierungsschlüssel die registrierte URL der betreffenden Transformation als Daten eines Werts vom Typ REG_SZ an. Der Name dieses Werts wird nicht verarbeitet und kann vom Computeradministrator beliebig gewählt werden.
Warnung Die XPath- und XSLT-Transformationen erlauben dem Dokumentabsender die Erstellung rechenintensiver Dokumente. Dies kann zu einem Denial-of-Service-Problem führen.