Streszczenie

Po zainstalowaniu aktualizacji zabezpieczeń 3141780 (opisany w biuletynie zabezpieczeń firmy Microsoft MS16-035), aplikacji.NET Framework mogą wystąpić błędy wyjątków lub nieoczekiwane błędy przy przetwarzane są pliki zawierające SignedXml.

Więcej informacji

Ważne Niniejsza sekcja, metoda lub zadanie zawiera informacje dotyczące modyfikowania rejestru. Jednak niepoprawne zmodyfikowanie rejestru może spowodować poważne problemy. W związku z tym upewnij się, że wykonujesz następujące kroki ostrożnie. Aby zapewnić sobie dodatkową ochronę, wykonaj kopię zapasową rejestru przed przystąpieniem do modyfikacji. Wtedy będziesz mógł przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

322756 Jak wykonać kopię zapasową i przywrócić rejestr w systemie Windows

Scenariusz 1

Objawy scenariusz 1

Zarządzane aplikacje zwracają wyjątek błąd, który ma następujący podpis:

System.Security.Cryptography.CryptographicException: Nie można rozpoznać identyfikatora Uri [FileOrUrl].



Przykład

System.Security.Cryptography.CryptographicException: Nie można rozpoznać identyfikatora Uri testfile.xml.



Dla Scenariusza 1 należy:

Klienci mogą zastosować następujący klucz rejestru do ich systemu:

Wpis rejestru

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


. Plik reg jest dostępny do pobrania

Aby rozwiązać ten problem, kliknij odpowiednie łącze, a następnie kliknij dwukrotnie pobrany plik, aby wprowadzić zmiany w rejestrze.

SignedXml ExternalReferences.reg (proces 32-bitowych na 32-bitowym systemie) i proces 64-bitowych w 64-bitowym systemie

SignedXml ExternalReferences.Wow6432.reg (proces 32-bitowe w 64-bitowym systemie)


Uwagi

  • Ten wpis rejestru powinna być wpis DWORD.

  • Ten wpis rejestru przywraca poprzednie zachowanie otwarcia lub pobrania zasobu, który jest poza dokumentem sprawdzanym obliczyć jego skrót.

Ostrzeżenie: Włączenie tego klucza rejestru może pozwolić luk w zabezpieczeniach w tym "odmowa usługi", rozproszonych odbicia typu odmowa usługi, ujawnienie informacji, Pomiń podpisu i zdalne wykonanie kodu.

Scenariusz 2

Objawy Scenariusz 2

Weryfikacja podpisu nie powiedzie się, kiedy oczekiwano sukcesu.



Scenariusz 2 rozdzielczość

Jeśli zawartość zawiera następujący blok podpisu, należy rozważyć zastosowanie wpis rejestru pod warunkiem:

Przykład blok podpisu

<Document>


< podpisu xmlns = "http://www.w3.org/2000/09/xmldsig#" >

<SignedInfo>

< algorytm CanonicalizationMethod = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >

< algorytm SignatureMethod = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >

< odwołać URI = "..." >

<Transforms>

< Przekształć algorytm = "http://www.w3.org/TR/1999/REC-xpath-19991116" / ></Transforms>< algorytm DigestMethod = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…

</Document>


Wpis rejestru

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


. Plik reg jest dostępny do pobrania

Aby rozwiązać ten problem, kliknij odpowiednie łącze, a następnie kliknij dwukrotnie pobrany plik, aby wprowadzić zmiany w rejestrze.

XmlDSigXPathTransform.reg (proces 32-bitowych na 32-bitowym systemie) i proces 64-bitowych w 64-bitowym systemie


XmlDSigXPathTransform.Wow6432.reg (proces 32-bitowe w 64-bitowym systemie)

Jeśli blok podpis zawiera następujący tekst, należy rozważyć zastosowanie wpis rejestru pod warunkiem:

Przykład blok podpisu

<Document>


< podpisu xmlns = "http://www.w3.org/2000/09/xmldsig#" >

<SignedInfo>

< algorytm CanonicalizationMethod = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >

< algorytm SignatureMethod = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >

< odwołać URI = "..." >

<Transforms>

< Przekształć algorytm = "http://www.w3.org/TR/1999/REC-xslt-19991116" / ></Transforms>< algorytm DigestMethod = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>


Wpis rejestru

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

. Plik reg jest dostępny do pobrania

Aby rozwiązać ten problem, kliknij odpowiednie łącze, a następnie kliknij dwukrotnie pobrany plik, aby wprowadzić zmiany w rejestrze.

XmlDSigXsltTransform.reg (proces 32-bitowych na 32-bitowym systemie) i proces 64-bitowych w 64-bitowym systemie

XmlDSigXsltTransform.Wow6432.reg (proces 32-bitowe w 64-bitowym systemie)

Uwaga: Domyślnie włączone są tylko te podpisu przekształcenia XML, które są dostarczane przez.NET Framework i nie akceptuje danych wejściowych z podpisanego dokumentu. Aby włączyć akceptuje dane wejściowe transformacji lub przekształceń niestandardowych, zarejestrowany identyfikator URI dla tej transformacji musi być określona jako danych REG_SZ wpisane wartości w tym kluczu rejestru. Nazwa wartości nie jest przetwarzany, a może być dowolny wybiera administrator komputera.

Ostrzeżenie Transformacje XPath i XSLT Zezwól nadawcy dokumentu do konstruowania dokumenty, które są kosztowne. Może to spowodować sytuację "odmowa usługi".

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×