Nachdem Sie das Sicherheitsupdate 3141780 angewendet haben, treten bei .NET Framework-Anwendungen Ausnahmefehler oder unerwartete Fehler bei der Verarbeitung von Dateien auf, die SignedXml enthalten
Zusammenfassung
Nach der Installation eines der Sicherheitsupdates 3141780 (beschrieben im Microsoft-Sicherheitsbulletin MS16-035 ) können bei .NET Framework-Anwendungen Ausnahmefehler oder unerwartete Fehler auftreten, wenn sie Dateien verarbeiten, die SignedXml enthalten.
Mehr Informationen
WichtigDieser Abschnitt, diese Methode oder diese Aufgabe enthält Schritte, die Ihnen erklären, wie Sie die Registrierung ändern. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie diese Schritte sorgfältig befolgen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Für weitere Informationen zum Sichern und Wiederherstellen der Registrierung klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
322756 Anleitung zum Sichern und Wiederherstellen der Registrierung in Windows
Szenario 1
Symptome von Szenario 1
Verwaltete Anwendungen geben eine Fehlerausnahme mit der folgenden Signatur zurück:
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
.Reg-Datei 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 64-Bit-System)
Anmerkungen
Dieser Registrierungseintrag sollte ein DWORD-Eintrag sein.
Dieser Registrierungseintrag stellt das vorherige Verhalten beim Öffnen oder Herunterladen einer Ressource außerhalb des Dokuments wieder her, das überprüft wird, um seinen Digest zu berechnen.
Warnung: Die Aktivierung dieses Registrierungsschlüssels kann zu Sicherheitslücken wie Denial of Service, Distributed Reflection Denial of Service, Offenlegung von Informationen, Signaturumgehung und Remotecodeausführung führen.
Szenario 2
Szenario 2 Symptome
Die Signaturüberprüfung schlägt fehl, obwohl ein Erfolg erwartet wurde.
Lösung für Szenario 2
Wenn der Inhalt den folgenden Signaturblock enthält, sollten Sie die Anwendung des bereitgestellten Registrierungseintrags in Betracht ziehen:
Beispiel für einen Signaturblock
<Dokument>
…
<Signatur 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 " />
<Referenz-URI="...">
<Transformiert>
<Transform-Algorithmus=" http://www.w3.org/TR/1999/REC-xpath-19991116 " /></Transforms> <DigestMethod-Algorithmus=" 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
.Reg-Datei 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-System)
XmlDSigXPathTransform.Wow6432.reg (32-Bit-Prozess auf 64-Bit-System)
Wenn der Signaturblock den folgenden Text enthält, sollten Sie erwägen, den bereitgestellten Registrierungseintrag zu verwenden:
Beispiel für einen Signaturblock
<Dokument>
…
<Signatur 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 " />
<Referenz-URI="...">
<Transformiert>
<Transform-Algorithmus=" http://www.w3.org/TR/1999/REC-xslt-19991116 " /></Transforms><DigestMethod-Algorithmus=" 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
.Reg-Datei 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 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 kann ein beliebiger Name sein, den der Computeradministrator wählt.
Warnung Die XPath- und XSLT-Transformationen ermöglichen es dem Dokumentensender, rechenintensiv rechenintensive Dokumente zu erstellen. Dies könnte zu einer Denial-of-Service-Situation führen.
No comments:
Post a Comment