Uwaga
Data wydania:
22 czerwca 2022 r.
[04/07/2023] Poprawiono w celu uwzględnienia brakujących wersji dla systemu Windows 10, wersji 1607 i 1507
[24.07.2023 r.] Zmieniono w celu dodania szczegółów wersji dla pakietu zbiorczego aktualizacji zabezpieczeń i jakości z 11 lipca 2023 r.
Podsumowanie
Ten artykuł zawiera pomoc w ograniczeniu problemu, gdy po zainstalowaniu aktualizacji z 13 czerwca 2023 r. dla platformy .NET Framework i .NET użytkownicy mogą napotkać problemy ze sposobem, w jaki środowisko uruchomieniowe platformy .NET Framework importuje certyfikaty X.509.
Objaw
Podczas importowania obiektu blob PKCS#12 zawierającego klucz prywatny za pomocą X509Certificateklasy , X509Certificate2or X509Certificate2Collection lub aplikacja wywołująca może zaobserwować poniższy wyjątek.
- System.Security.Cryptography.CryptographicException: PKCS12 (PFX) bez podanego hasła przekroczył maksymalną dozwoloną liczbę iteracji. 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ć niedeterministycznie.
Obejście
Firma Microsoft wydała zaktualizowane instalatory oprogramowania .NET Framework i .NET rozwiązujące ten problem. Te instalatory można zastosować na komputerze, którego dotyczy problem, niezależnie od tego, czy komputer już zastosował oryginalne aktualizacje zabezpieczeń platformy .NET Framework i platformy .NET z 13 czerwca 2023 r.
Ważne
- Jeśli wcześniej używano przełączników rejestru udokumentowanych w artykule KB5025823 Zmiany w sposobie importowania certyfikatów X.509 przez aplikacje .NET w celu obejścia tego problemu, 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:32reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64
Rozwiązanie
Ten problem został rozwiązany w aktualizacjach poza pasmem wydanych 22 czerwca 2023 r. dla platformy .NET Framework 4.6.2 i nowszych wersji dla systemów Windows i wersji systemu Windows Server, których dotyczy ten problem. Aby uzyskać pakiet autonomiczny dla tych aktualizacji poza pasmem, wyszukaj numer aktualizacji KB w wykazie usługi Microsoft Update. Te aktualizacje można zaimportować ręcznie do usług Windows Server Update Services (WSUS) i programu Microsoft Endpoint Configuration Manager. Aby uzyskać instrukcje dotyczące usług WSUS, zobacz WSUS i witrynę wykazu. Aby uzyskać instrukcje dotyczące menedżera konfiguracji, zobacz Importowanie aktualizacji z wykazu usługi Microsoft Update.
Jeśli zastosowano jakiekolwiek obejście lub środki zaradcze dla tego problemu, nie są one już potrzebne i zalecamy ich usunięcie. Aby usunąć obejście, zapoznaj się z obejściem lub alternatywnym obejściem, które zostało zastosowane do instrukcji.
| Wersja produktu | Aktualizuj | |
|---|---|---|
| System Windows 11 w wersji 22H2 | ||
| .NET Framework 4.8.1 | Katalog produktów | 5028576 |
| System Windows 11 w wersji 21H2 | ||
| .NET Framework 4.8 | Katalog produktów | 5028582 |
| .NET Framework 4.8.1 | Katalog produktów | 5028575 |
| Windows Server 2022 | ||
| .NET Framework 4.8 | Katalog produktów | 5028584 |
| .NET Framework 4.8.1 | Katalog produktów | 5028578 |
| Azure Stack HCI, wersja 22H2 | ||
| .NET Framework 4.8 | Katalog produktów | 5028584 |
| Azure Stack HCI, wersja 21H2 | ||
| .NET Framework 4.8 | Katalog produktów | 5028584 |
| Windows 10 w wersji 22H2 | ||
| .NET Framework 4.8 | Katalog produktów | 5028579 |
| .NET Framework 4.8.1 | Katalog produktów | 5028574 |
| Windows 10 w wersji 21H2 | ||
| .NET Framework 4.8 | Katalog produktów | 5028579 |
| .NET Framework 4.8.1 | Katalog produktów | 5028574 |
| Windows 10 1809 (aktualizacja z października 2018) i Windows Server 2019 | ||
| .NET Framework 4.7.2 | Katalog produktów | 5028588 |
| .NET Framework 4.8 | Katalog produktów | 5028581 |
| Windows 10 1607 (Anniversary Update) i Windows Server 2016 | ||
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028623 |
| .NET Framework 4.8 | Katalog produktów | 5028580 |
| Windows 10 1507 | ||
| .NET Framework 4.6, 4.6.2 | Katalog produktów | 5028622 |
| Windows Embedded 8.1 i Windows Server 2012 R2 | ||
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028590 |
| .NET Framework 4.8 | Katalog produktów | 5028585 |
| Windows Embedded 8 i Windows Server 2012 | ||
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028589 |
| .NET Framework 4.8 | Katalog produktów | 5028583 |
| Windows Embedded 7 Standard i Windows Server 2008 R2 z dodatkiem SP1 | ||
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028591 |
| .NET Framework 4.8 | Katalog produktów | 5028586 |
| wszystkie obsługiwane wersje systemu Windows | ||
| .NET 6.0.19 | Katalog produktów | 5028613 |
| .NET 7.0.8 | Katalog produktów | 5028614 |
Ten problem został rozwiązany w regularnym zbiorczym pakiecie zbiorczym aktualizacji wydanym 11 lipca 2023 r. dla wszystkich obsługiwanych wersji platformy .NET Framework dla systemów Windows i wersji systemu Windows Server, których dotyczy ten problem. Pakiet zbiorczy aktualizacji zabezpieczeń i jakości jest dostępny za pośrednictwem usług Windows Update, Windows Server Update Services i wykazu usługi Microsoft Update.
Uwaga: Klienci korzystający z usług Windows Update i Windows Server Update Services automatycznie otrzymają aktualizacje specyficzne dla wersji programu .NET Framework. Zaawansowani administratorzy systemu mogą również skorzystać z poniższych bezpośrednich linków pobierania z wykazu usługi Microsoft Update do aktualizacji specyficznych dla platformy .NET Framework. Przed zastosowaniem tych aktualizacji należy dokładnie sprawdzić możliwości zastosowania wersji programu .NET Framework, aby mieć pewność, że aktualizacje są instalowane tylko w systemach, w których mają zastosowanie.
Jeśli zastosowano jakiekolwiek obejście lub środki zaradcze dla tego problemu, nie są one już potrzebne i zalecamy ich usunięcie. Aby usunąć obejście, zapoznaj się z obejściem lub alternatywnym obejściem, które zostało zastosowane do instrukcji.
| Wersja produktu | Aktualizuj | |
|---|---|---|
| System Windows 11 w wersji 22H2 | ||
| .NET Framework 3.5, 4.8.1 | Katalog produktów | 5028851 |
| System Windows 11 w wersji 21H2 | ||
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028856 |
| .NET Framework 3.5, 4.8.1 | Katalog produktów | 5028850 |
| Windows Server 2022 | ||
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028858 |
| .NET Framework 3.5, 4.8.1 | Katalog produktów | 5028852 |
| Azure Stack HCI, wersja 22H2 | 5028935 | |
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028858 |
| Azure Stack HCI, wersja 21H2 | 5028943 | |
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028858 |
| Windows 10 w wersji 22H2 | 5028937 | |
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028853 |
| .NET Framework 3.5, 4.8.1 | Katalog produktów | 5028849 |
| Windows 10 w wersji 21H2 | 5028944 | |
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028853 |
| .NET Framework 3.5, 4.8.1 | Katalog produktów | 5028849 |
| Windows 10 1809 (aktualizacja z października 2018) i Windows Server 2019 | 5028936 | |
| .NET Framework 3.5, 4.7.2 | Katalog produktów | 5028862 |
| .NET Framework 3.5, 4.8 | Katalog produktów | 5028855 |
| Windows 10 1607 (Anniversary Update) i Windows Server 2016 | ||
| .NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028169 |
| .NET Framework 4.8 | Katalog produktów | 5028854 |
| Windows 10 1507 | ||
| .NET Framework 3.5, 4.6, 4.6.2 | Katalog produktów | 5028186 |
| Windows Embedded 8.1 i Windows Server 2012 R2 | 5028941 | |
| .NET Framework 3.5 | Katalog produktów | 5028872 |
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028864 |
| .NET Framework 4.8 | Katalog produktów | 5028859 |
| Windows Embedded 8 i Windows Server 2012 | 5028940 | |
| .NET Framework 3.5 | Katalog produktów | 5028869 |
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028863 |
| .NET Framework 4.8 | Katalog produktów | 5028857 |
| Windows Embedded 7 Standard i Windows Server 2008 R2 z dodatkiem SP1 | 5028939 | |
| .NET Framework 3.5.1 | Katalog produktów | 5028871 |
| .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 | Katalog produktów | 5028865 |
| .NET Framework 4.8 | Katalog produktów | 5028860 |
| Windows Server 2008 z dodatkiem SP2 | 5028942 | |
| .NET Framework 2.0, 3.0 | Katalog produktów | 5028870 |
| .NET Framework 4.6.2 | Katalog produktów | 5028865 |
Aktualizacje, których dotyczy problem
Problem dotyczy następujących wersji programu .NET Framework i .NET:
- .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 podczas instalowania aktualizacji zabezpieczeń z 13 czerwca 2022 r.
- .NET Framework 4.8, gdy zostanie zainstalowana aktualizacja 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 (FAQ)
Kiedy ta zmiana została wprowadzona?
Ta zmiana zachowania została wprowadzona w aktualizacjach zabezpieczeń z 13 czerwca 2022 r. dla platformy .NET i platformy .NET Framework.
Czy muszę instalować tę nową aktualizację?
Zainstalowanie tej nowej aktualizacji jest konieczne tylko wtedy, gdy w Twojej aplikacji występuje problem opisany w nagłówku "Objaw" u góry tego artykułu. Jeśli ten problem nie występuje, nie ma potrzeby instalowania tej aktualizacji.
Czy ta nowa aktualizacja zastępuje aktualizację programu .NET Framework z 13 czerwca 2023 r.?
Nie. Jeśli korzystasz z platformy .NET Framework, przed zainstalowaniem nowej aktualizacji z 22 czerwca 2023 r. należy najpierw zainstalować pakiet zbiorczy aktualizacji z 13 czerwca 2023 r. lub aktualizacje samych zabezpieczeń.
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ż wersje .NET 6.0.19 i .NET 7.0.8, które można pobrać z https://get.dot.net/. Te wersje mają zastąpić wersje .NET 6.0.18 i .NET 7.0.7, które zostały wydane 13 czerwca 2023 r.
Jedyną różnicą między wersjami .NET 6.0.19 / 7.0.8 i .NET 6.0.18 / 7.0.7 jest wspomniana powyżej poprawka zgodności. .NET 6.0.19/7.0.8 nie zawierają żadnych dodatkowych poprawek zabezpieczeń poza tymi, które zostały już opublikowane w .NET 6.0.18/7.0.7.
Informacje o ochronie i zabezpieczeniach
- Chroń się w trybie online: Pomoc techniczna dotycząca zabezpieczenia Windows
- Dowiedz się, jak chronimy się przed cyberzagrożeniami: zabezpieczenia firmy Microsoft