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 |
||
Windows 11, wersja 21H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows Server 2022 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Azure Stack HCI, wersja 22H2 |
||
.NET Framework 4.8 |
||
Azure Stack HCI, wersja 21H2 |
||
.NET Framework 4.8 |
||
Windows 10 wersja 22H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows 10 wersja 21H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows 10 1809 (aktualizacja z października 2018 r.) i Windows Server 2019 |
||
.NET Framework 4.7.2 |
||
.NET Framework 4.8 |
||
Windows 10 1607 (aktualizacja rocznicowa) i Windows Server 2016 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows 10 1507 |
||
.NET Framework 4,6, 4,6,2 |
||
Windows Embedded 8.1 i Windows Server 2012 R2 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 8 i Windows Server 2012 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
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 |
||
.NET Framework 4.8 |
||
wszystkie obsługiwane wersje systemu Windows |
||
.NET 6.0.19 |
||
.NET 7.0.8 |
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 |
||
Windows 11, wersja 21H2 |
||
.NET Framework 3,5, 4,8 |
||
.NET Framework 3,5, 4,8,1 |
||
Windows Server 2022 |
||
.NET Framework 3,5, 4,8 |
||
.NET Framework 3,5, 4,8,1 |
||
Azure Stack HCI, wersja 22H2 |
||
.NET Framework 3,5, 4,8 |
||
Azure Stack HCI, wersja 21H2 |
||
.NET Framework 3,5, 4,8 |
||
Windows 10 wersja 22H2 |
||
.NET Framework 3,5, 4,8 |
||
.NET Framework 3,5, 4,8,1 |
||
Windows 10 wersja 21H2 |
||
.NET Framework 3,5, 4,8 |
||
.NET Framework 3,5, 4,8,1 |
||
Windows 10 1809 (aktualizacja z października 2018 r.) i Windows Server 2019 |
||
.NET Framework 3,5, 4,7,2 |
||
.NET Framework 3,5, 4,8 |
||
Windows 10 1607 (aktualizacja rocznicowa) i Windows Server 2016 |
||
.NET Framework 3,5, 4,6,2, 4,7, 4,7,1, 4,7,2 |
||
.NET Framework 4.8 |
||
Windows 10 1507 |
||
.NET Framework 3,5, 4,6, 4,6,2 |
||
Windows Embedded 8.1 i Windows Server 2012 R2 |
||
.NET Framework 3,5 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 8 i Windows Server 2012 |
||
.NET Framework 3,5 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 7 Standard i Windows Server 2008 R2 z dodatek SP1 |
||
.NET Framework 3.5.1 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Server 2008 SP2 |
||
.NET Framework 2.0, 3.0 |
||
.NET Framework 4.6.2 |
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
-
Ochrona w trybie online: pomoc techniczna Zabezpieczenia Windows
-
Dowiedz się, jak chronimy się przed zagrożeniami cybernetycznymi: Microsoft Security