Zaszyfrowana zawartość w programie ASP.NET nie jest odszyfrowana w wyniku błędów w przypadku witryny z zastosowaniem trwałych plików cookie uwierzytelniania przy użyciu formularzy lub wdrożonej w kolektywie serwerów sieci Web

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2431728 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Po zastosowaniu aktualizacji zabezpieczeń MS10-070 na serwerach udostępniających witryny sieci Web programu Microsoft ASP.NET wdrożone w kolektywie serwerów sieci Web w przypadku niektórych serwerów lub aplikacji w tym kolektywie mogą wystąpić następujące symptomy:
  • Nie można odszyfrować danych.
  • Wyjątki w programach obsługi zasobów WebResource lub ScriptResource.
  • Błędy uwierzytelniania w przypadku stosowania uwierzytelniania przy użyciu formularzy.
  • Wyjątki związane z nieprawidłowym stanem widoku.
  • Wyjątki „Nie można przeprowadzić walidacji danych” podczas prób odszyfrowania danych, na przykład pliku cookie uwierzytelniania przy użyciu formularzy.
Niepowodzenie może mieć postać wyjątku aplikacji w trakcie uzyskiwania dostępu do aplikacji programu ASP.NET. Ponadto w dzienniku aplikacji mogą zostać zarejestrowane informacje podobne do następujących.


Komunikat 1:

System.Web.HttpException: Nie można przeprowadzić walidacji danych w System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)

Komunikat 2:

Typ zdarzenia: Ostrzeżenie
Źródło zdarzenia: ASP.NET 2.0.50727.0
Kategoria zdarzenia: Zdarzenie sieci Web
Identyfikator zdarzenia: 1309
Data: Data
Godzina: Godzina
Użytkownik: Brak
Opis:
Kod zdarzenia: 3005
Komunikat zdarzenia: Wystąpił nieobsługiwany wyjątek.
Informacje o wyjątku:
Typ wyjątku: HttpException
Komunikat o wyjątku: Nie można przeprowadzić walidacji danych.

Przyczyna

Aktualizacja zabezpieczeń omówiona w biuletynie MS10-070 zmienia domyślne działanie szyfrowania w programie ASP.NET. Po zainstalowaniu tej aktualizacji zabezpieczeń nowe domyślne działanie jest następujące: nawet jeśli zażądano tylko zaszyfrowania, wykonywana jest również walidacja. To domyślne działanie powoduje zmianę zaszyfrowanego ładunku na serwerach, na których zastosowano tę aktualizację. Ładunek może obejmować pliki cookie uwierzytelniania przy użyciu formularzy i stan widoku. Jeśli tę aktualizację zabezpieczeń zastosowano tylko na niektórych serwerach w kolektywie serwerów sieci Web, dla tego samego ładunku na poszczególnych serwerach w kolektywie występują różnice w metodach szyfrowania i odszyfrowywania. Te różnice w działaniu skutkują wyjątkami. To samo działanie może występować po zastosowaniu tej aktualizacji zabezpieczeń w przypadku używania plików cookie uwierzytelniania przy użyciu formularzy, które utrwalono w systemach przed jej zastosowaniem.

Ponadto metody szyfrowania i odszyfrowywania różnią się w przypadku poszczególnych wersji dodatku Service Pack dla programu Microsoft .NET Framework 2.0. Z tego powodu używanie różnych wersji dodatku Service Pack dla programu .NET Framework w środowisku kolektywu serwerów sieci Web, w którym zainstalowano tę aktualizację zabezpieczeń, skutkuje różnymi zaszyfrowanymi ładunkami i podobnym niepowodzeniem odszyfrowywania.

Rozwiązanie

Należy sprawdzić, czy wszystkie serwery udostępniające zawartość ASP.NET, spełniają te warunki:
  • Wszystkie serwery udostępniające witrynę sieci Web ASP.NET w kolektywie serwerów sieci Web muszą mieć zainstalowaną tę aktualizację zabezpieczeń. Jeśli niektóre serwery nie mają zainstalowanej tej aktualizacji zabezpieczeń, należy ją na nich zastosować.
  • Na wszystkich komputerach w kolektywie serwerów sieci Web, na których działa dowolna wersja programu .NET Framework 2.0, musi być używany ten sam dodatek Service Pack (jeśli aktualizację zabezpieczeń MS10-070 zastosowano do wszystkich tych systemów). Jeśli na serwerach są używane różne wersje dodatku Service Pack, należy zaktualizować je wszystkie do najnowszej wersji dodatku Service Pack i ponownie zastosować wszystkie aktualizacje zabezpieczeń. Dlatego jeśli na niektórych serwerach w kolektywie serwerów sieci Web działa program .NET Framework 2.0 z dodatkiem SP1, a na innych program .NET Framework 2.0 z dodatkiem SP2, przed zastosowaniem tej aktualizacji zabezpieczeń na wszystkich serwerach w kolektywie należy uaktualnić wszystkie serwery z programem .NET Framework 2.0 z dodatkiem SP1 do programu .NET Framework 2.0 z dodatkiem SP2.
  • Należy się upewnić, że aplikacje nie używają zaszyfrowanych danych wygenerowanych przed zastosowaniem aktualizacji, takich jak pliki cookie uwierzytelniania przy użyciu formularzy. Po zastosowaniu tej aktualizacji zabezpieczeń dane zaszyfrowane wcześniej należy odświeżyć.
Więcej informacji o wykrywaniu wersji programu .NET Framework oraz instalowaniu aktualizacji zabezpieczeń na serwerach można znaleźć w sekcji „Informacje”.

Materiały referencyjne

Więcej informacji o stanie widoku programu ASP.NET można znaleźć w następującym artykule:
Omówienie stanu widoku programu ASP.NET
Więcej informacji o uwierzytelnianiu przy użyciu formularzy programu ASP.NET można znaleźć w następującym artykule:
Omówienie uwierzytelniania przy użyciu formularzy programu ASP.NET
Aby uzyskać więcej informacji o plikach cookie i biletach uwierzytelniania przy użyciu formularzy programu ASP.NET, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
910443 Opis pliku cookie i biletu uwierzytelniania przy użyciu formularzy (strona może być w języku angielskim)
Aby uzyskać więcej informacji o programie obsługi zasobu sieci Web programu ASP.NET, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
910442 Praca z zasobami sieci Web w programie ASP.NET 2.0 (strona może być w języku angielskim)
Uwaga: Niniejszy artykuł, przeznaczony do „SZYBKIEJ PUBLIKACJI”, został utworzony bezpośrednio przez organizację pomocy technicznej firmy Microsoft. Zawarte w nim informacje są udostępniane „w stanie takim, w jakim są” w odpowiedzi na pojawiające się problemy. W wyniku przyspieszonego trybu udostępniania materiały mogą zawierać błędy typograficzne i mogą zostać poprawione w dowolnym momencie bez uprzedzenia. Więcej informacji można znaleźć w Warunkach użytkowania.

Właściwości

Numer ID artykułu: 2431728 - Ostatnia weryfikacja: 22 grudnia 2011 - Weryfikacja: 4.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 3.5
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
Słowa kluczowe: 
kbprb kbfix kbtshoot kbexpertiseinter kbsurveynew KB2431728

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com