Data wydania:22 czerwca 2022 r.

[2023-07-04] poprawiono, aby uwzględnić brakujące wersje dla Windows 10, wersja 1607 i 1507

[24.07.2023] poprawiono w celu dodania szczegółów wersji dla rozdzielczości 11 lipca 2023 r. pakiet zbiorczy aktualizacji zabezpieczeń i jakości

Podsumowanie

Ten artykuł zawiera pomoc w zminimalizowaniu problemu, gdy po zainstalowaniu aktualizacji z 13 czerwca 2023 r. dla programów .NET Framework i .NET użytkownicy mogą napotkać problemy ze sposobem importowania certyfikatów X.509 w środowisku uruchomieniowym .NET Framework.

Symptom

W przypadku korzystania z klasy X509Certificate, X509Certificate2lub X509Certificate2Collectionw celu zaimportowania obiektu blob PKCS#12 zawierającego klucz prywatny aplikacja wywołująca może obserwować poniższy wyjątek.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) bez podanej hasła przekroczyła maksymalną dozwoloną iterację. Aby uzyskać więcej informacji, zobacz https://go.microsoft.com/fwlink/?linkid=2233907 .

Ten błąd dotyczy obiektów blob PKCS#12, które zostały wyeksportowane [np. za pośrednictwem X509Certificate.Export(X509ContentType.Pfx)] bez hasła. Awaria może wystąpić nie deterministycznie.

Obejście

Firma Microsoft wydała zaktualizowane instalatory dla programów .NET Framework i .NET, aby rozwiązać ten problem. Te instalatory mogą być stosowane na komputerze, którego dotyczy problem, niezależnie od tego, czy na komputerze zastosowano już oryginalne aktualizacje zabezpieczeń z 13 czerwca 2023 r., .NET Framework i .NET.

Ważne: 

  • Jeśli wcześniej używano przełączników rejestru udokumentowanych w aktualizacji KB5025823 Zmień sposób, w jaki aplikacje .NET importują certyfikaty X.509 , aby obejść ten problem, usuń te przełączniki rejestru przed zainstalowaniem nowej poprawki. Uruchom dwa poniższe polecenia z wiersza polecenia z podwyższonym poziomem uprawnień, aby usunąć przełączniki rejestru.

  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32

  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Rozwiązanie

Ten problem został rozwiązany w aktualizacjach pozapasmowych wydanych 22 czerwca 2023 r. dla wersji .NET Framework 4.6.2 i nowszych dla systemów Windows i Windows Server, których dotyczy ten problem. Aby uzyskać autonomiczny pakiet tych aktualizacji pozapasmowych, wyszukaj numer KB w wykazie usługi Microsoft Update. Te aktualizacje można zaimportować ręcznie do Windows Server Update Services (WSUS) i programu Microsoft Endpoint Configuration Manager. Aby uzyskać instrukcje dotyczące programu WSUS, zobacz WSUS i Witryna wykazu. Aby uzyskać instrukcje dotyczące menedżera konfiguracji, zobacz Importowanie aktualizacji z wykazu usługi Microsoft Update.

Jeśli użyto obejścia lub środków łagodzących ten problem, nie są one już potrzebne i zalecamy ich usunięcie. Aby usunąć obejście, przejrzyj obejście lub alternatywne obejście, które zostało zastosowane w celu zastosowania instrukcji.

Wersja produktu

Aktualizacja

Windows 11, wersja 22H2

.NET Framework 4.8.1

Katalog

5028576

Windows 11, wersja 21H2

.NET Framework 4.8

Katalog

5028582

.NET Framework 4.8.1

Katalog

5028575

Windows Server 2022

.NET Framework 4.8

Katalog

5028584

.NET Framework 4.8.1

Katalog

5028578

Azure Stack HCI, wersja 22H2

.NET Framework 4.8

Katalog

5028584

Azure Stack HCI, wersja 21H2

.NET Framework 4.8

Katalog

5028584

Windows 10 wersja 22H2

.NET Framework 4.8

Katalog

5028579

.NET Framework 4.8.1

Katalog

5028574

Windows 10 wersja 21H2

.NET Framework 4.8

Katalog

5028579

.NET Framework 4.8.1

Katalog

5028574

Windows 10 1809 (aktualizacja z października 2018 r.) i Windows Server 2019

.NET Framework 4.7.2

Katalog

5028588

.NET Framework 4.8

Katalog

5028581

Windows 10 1607 (aktualizacja rocznicowa) i Windows Server 2016

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028623

.NET Framework 4.8

Katalog

5028580

Windows 10 1507

.NET Framework 4,6, 4,6,2

Katalog

5028622

Windows Embedded 8.1 i Windows Server 2012 R2

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028590

.NET Framework 4.8

Katalog

5028585

Windows Embedded 8 i Windows Server 2012

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028589

.NET Framework 4.8

Katalog

5028583

Windows Embedded 7 Standard i Windows Server 2008 R2 z dodatek SP1

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028591

.NET Framework 4.8

Katalog

5028586

wszystkie obsługiwane wersje systemu Windows

.NET 6.0.19

Katalog

5028613

.NET 7.0.8

Katalog

5028614

Ten problem został rozwiązany w regularnych zbiorczych pakietach zbiorczych aktualizacji wydanych 11 lipca 2023 r. dla wszystkich obsługiwanych wersji .NET Framework dla systemów Windows i Windows Server, których dotyczy ten problem.  Pakiet zbiorczy aktualizacji zabezpieczeń i jakości jest dostępny za pośrednictwem Windows Update, Windows Server Update Services i wykazu usługi Microsoft Update.   

Uwaga: Klienci korzystający z Windows Update i Windows Server Update Services automatycznie otrzymają aktualizacje specyficzne dla wersji .NET Framework. Zaawansowani administratorzy systemu mogą również skorzystać z poniższych bezpośrednich linków do pobierania wykazu usługi Microsoft Update do aktualizacji specyficznych dla .NET Framework. Przed zastosowaniem tych aktualizacji należy dokładnie zapoznać się z .NET Framework zastosowaniem wersji, aby upewnić się, że aktualizacje są instalowane tylko w systemach, w których mają one zastosowanie.

Jeśli użyto obejścia lub środków łagodzących ten problem, nie są one już potrzebne i zalecamy ich usunięcie. Aby usunąć obejście, przejrzyj obejście lub alternatywne obejście, które zostało zastosowane w celu zastosowania instrukcji.

Wersja produktu

Aktualizacja

Windows 11, wersja 22H2

.NET Framework 3,5, 4,8,1

Katalog

5028851

Windows 11, wersja 21H2

.NET Framework 3,5, 4,8

Katalog

5028856

.NET Framework 3,5, 4,8,1

Katalog

5028850

Windows Server 2022

.NET Framework 3,5, 4,8

Katalog

5028858

.NET Framework 3,5, 4,8,1

Katalog

5028852

Azure Stack HCI, wersja 22H2

5028935

.NET Framework 3,5, 4,8

Katalog

5028858

Azure Stack HCI, wersja 21H2

5028943

.NET Framework 3,5, 4,8

Katalog

5028858

Windows 10 wersja 22H2

5028937

.NET Framework 3,5, 4,8

Katalog

5028853

.NET Framework 3,5, 4,8,1

Katalog

5028849

Windows 10 wersja 21H2

5028944

.NET Framework 3,5, 4,8

Katalog

5028853

.NET Framework 3,5, 4,8,1

Katalog

5028849

Windows 10 1809 (aktualizacja z października 2018 r.) i Windows Server 2019

5028936

.NET Framework 3,5, 4,7,2

Katalog

5028862

.NET Framework 3,5, 4,8

Katalog

5028855

Windows 10 1607 (aktualizacja rocznicowa) i Windows Server 2016

.NET Framework 3,5, 4,6,2, 4,7, 4,7,1, 4,7,2

Katalog

5028169

.NET Framework 4.8

Katalog

5028854

Windows 10 1507

.NET Framework 3,5, 4,6, 4,6,2

Katalog

5028186

Windows Embedded 8.1 i Windows Server 2012 R2

5028941

.NET Framework 3,5

Katalog

5028872

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028864

.NET Framework 4.8

Katalog

5028859

Windows Embedded 8 i Windows Server 2012

5028940

.NET Framework 3,5

Katalog

5028869

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028863

.NET Framework 4.8

Katalog

5028857

Windows Embedded 7 Standard i Windows Server 2008 R2 z dodatek SP1

5028939

.NET Framework 3.5.1

Katalog

5028871

.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2

Katalog

5028865

.NET Framework 4.8

Katalog

5028860

Windows Server 2008 SP2

5028942

.NET Framework 2.0, 3.0

Katalog

5028870

.NET Framework 4.6.2

Katalog

5028865

Aktualizacje, których dotyczy problem

Dotyczy to następujących wersji .NET Framework i .NET:

  • .NET Framework 4.6.2, 4.7, 4.7.1 i 4.7.2 po zainstalowaniu aktualizacji zabezpieczeń z 13 czerwca 2022 r.

  • .NET Framework 4.8 po zainstalowaniu aktualizacji zabezpieczeń z 13 czerwca 2022 r.

  • .NET Framework 4.8.1 po zainstalowaniu aktualizacji zabezpieczeń z 13 czerwca 2022 r.

  • .NET 6.0.18.

  • .NET 7.0.7.

Często zadawane pytania (często zadawane pytania)

Kiedy wprowadzono tę zmianę?

Ta zmiana zachowania została wprowadzona 13 czerwca 2022 r. w aktualizacjach zabezpieczeń dla programów .NET i .NET Framework.

Czy jest konieczne zainstalowanie tej nowej aktualizacji?

Zainstalowanie tej nowej aktualizacji jest konieczne tylko wtedy, gdy w aplikacji występuje problem opisany w nagłówku "Symptom" u góry tego artykułu. Jeśli nie występuje ten problem, nie ma potrzeby instalowania tej aktualizacji.

Czy ta nowa aktualizacja zastępuje aktualizację .NET Framework z 13 czerwca 2023 r.?

Nie. Jeśli używasz .NET Framework, przed zainstalowaniem nowej aktualizacji z 22 czerwca 2023 r. należy najpierw zainstalować pakiet zbiorczy aktualizacji lub tylko aktualizacje zabezpieczeń z 13 czerwca 2023 r.

Czy ta nowa aktualizacja zastępuje program .NET 6.0.18 lub .NET 7.0.7?

Tak. W ramach tej aktualizacji udostępniamy również programy .NET 6.0.19 i .NET 7.0.8, które można pobrać z https://get.dot.net/. Te wersje mają na celu zastąpienie programów .NET 6.0.18 i .NET 7.0.7, które zostały wydane 13 czerwca 2023 r.

Jedyną różnicą między programem .NET 6.0.19 / 7.0.8 a programem .NET 6.0.18 / 7.0.7 jest wspomniana powyżej poprawka zgodności. Program .NET 6.0.19 / 7.0.8 nie zawiera żadnych dodatkowych poprawek zabezpieczeń wykraczających poza to, co opublikowano już w wersji .NET 6.0.18 / 7.0.7.

Informacje o ochronie i zabezpieczeniach

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.