Забележка
Дата на издаване:
22 юни 2022 г.
[07/04/2023] преработено, за да включва липсващи версии за Windows 10, версия 1607 и 1507
[24.07.2023] Преработено , за да се добавят подробности за изданието за разделителна способност за сборен пакет за актуализация на защитата и качеството от 11 юли 2023 г.
Резюме
Тази статия помага за смекчаване на проблем, когато след инсталиране на актуализациите от 13 юни 2023 г. за .NET Framework (платформа) и .NET потребителите може да изпитат проблеми с начина, по който изпълнимият модул на изпълнение на .NET Framework импортира X.509 сертификати.
Симптом
Когато използвате X509Certificate, X509Certificate2, или X509Certificate2Collection клас за импортиране на PKCS#12 BLOB, съдържащ личен ключ, повикващото приложение може да спази изключението по-долу.
- System.Security.Cryptography.CryptographicException: PKCS12 (PFX) без предоставена парола е надвишил максимално допустимите итерации. Вижте https://go.microsoft.com/fwlink/?linkid=2233907 за повече информация.
Тази грешка засяга PKCS#12 blob-овете, които са експортирани [например чрез X509Certificate.Export(X509ContentType.Pfx)] без парола. Неуспехът може да възникне недетерминистично.
Заобиколно решение
Microsoft пусна актуализирани програми за инсталиране за .NET Framework (платформа) и .NET за разрешаването на този проблем. Тези програми за инсталиране могат да бъдат приложени към засегнатата машина, независимо дали машината вече е приложила оригиналните актуализации на защитата на .NET Framework (платформа) от 13 юни 2023 г. и .NET.
Важно
- Ако преди това сте използвали ключовете на системния регистър, документирани в KB5025823 Промяна в начина, по който приложенията на .NET импортират X.509 сертификати , за да заобиколят този проблем, премахнете тези ключове на системния регистър, преди да инсталирате новата корекция. Изпълнете двете команди по-долу от команден прозорец с администраторски права, за да премахнете превключвателите на системния регистър.
reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64
Решение
Този проблем е решен в актуализации извън обхвата, издадени на 22 юни 2023 г., за .NET Framework (платформа) 4.6.2 и по-нови версии за версии на Windows и Windows Server, засегнати от този проблем. За да получите самостоятелния пакет за тези актуализации извън обхвата, потърсете номера на БЗ в каталога на Microsoft Update. Можете ръчно да импортирате тези актуализации в Windows Server Update Services (WSUS) и Microsoft Endpoint Configuration Manager. За инструкции за WSUS вижте WSUS и каталога на сайта. За инструкции за Configuration Manager вижте Импортиране на актуализации от каталога на Microsoft Update.
Ако сте използвали заобиколно решение или смекчавания за този проблем, те вече не са необходими и ви препоръчваме да ги премахнете. За да премахнете заобиколно решение, прегледайте заобиколното решение или алтернативното заобиколно решение, което е приложено за инструкции.
| Версия на продукт | За актуализация | |
|---|---|---|
| Windows 11, версия 22H2 | ||
| .NET Framework (платформа) 4.8.1 | Каталог | 5028576 |
| Windows 11, версия 21H2 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028582 |
| .NET Framework (платформа) 4.8.1 | Каталог | 5028575 |
| Windows Server 2022 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028584 |
| .NET Framework (платформа) 4.8.1 | Каталог | 5028578 |
| Azure Stack HCI, версия 22H2 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028584 |
| Azure Stack HCI, версия 21H2 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028584 |
| Windows 10, версия 22H2 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028579 |
| .NET Framework (платформа) 4.8.1 | Каталог | 5028574 |
| Windows 10, версия 21H2 | ||
| .NET Framework (платформа) 4.8 | Каталог | 5028579 |
| .NET Framework (платформа) 4.8.1 | Каталог | 5028574 |
| Windows 10 1809 (актуализация от октомври 2018 г.) и Windows Server 2019 | ||
| .NET Framework (платформа) 4.7.2 | Каталог | 5028588 |
| .NET Framework (платформа) 4.8 | Каталог | 5028581 |
| Windows 10 1607 (актуализация за годишнината) и Windows Server 2016 | ||
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028623 |
| .NET Framework (платформа) 4.8 | Каталог | 5028580 |
| Windows 10 1507 | ||
| .NET Framework (платформа) 4.6, 4.6.2 | Каталог | 5028622 |
| Windows Embedded 8.1 и Windows Server 2012 R2 | ||
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028590 |
| .NET Framework (платформа) 4.8 | Каталог | 5028585 |
| Windows Embedded 8 и Windows Server 2012 | ||
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028589 |
| .NET Framework (платформа) 4.8 | Каталог | 5028583 |
| Windows Embedded 7 Standard и Windows Server 2008 R2 SP1 | ||
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028591 |
| .NET Framework (платформа) 4.8 | Каталог | 5028586 |
| всички поддържани версии на Windows | ||
| .NET 6.0.19 | Каталог | 5028613 |
| .NET 7.0.8 | Каталог | 5028614 |
Този проблем е решен в редовния кумулативен сборен пакет за актуализация, издаден на 11 юли 2023 г., за всички поддържани версии на .NET Framework (платформа) за Windows и версии на Windows Server, засегнати от този проблем. Сборът за актуализация на защитата и качеството е наличен чрез актуализиране на Windows, услугите за актуализиране на Windows Server и каталога на Microsoft Update.
Забележка: Клиентите, които разчитат на актуализиране на Windows и Windows Server Update Services, автоматично ще получат специфичните за версията актуализации на .NET Framework (платформа). Разширените системни администратори могат също така да използват директните връзки за изтегляне от каталога на Microsoft Update по-долу към специфични за .NET Framework (платформа) актуализации. Преди да приложите тези актуализации, уверете се, че внимателно сте прегледали приложимостта на версията на .NET Framework (платформа), за да сте сигурни, че инсталирате актуализации само на системи, за които те се прилагат.
Ако сте използвали заобиколно решение или смекчавания за този проблем, те вече не са необходими и ви препоръчваме да ги премахнете. За да премахнете заобиколно решение, прегледайте заобиколното решение или алтернативното заобиколно решение, което е приложено за инструкции.
| Версия на продукт | За актуализация | |
|---|---|---|
| Windows 11, версия 22H2 | ||
| .NET Framework (платформа) 3.5, 4.8.1 | Каталог | 5028851 |
| Windows 11, версия 21H2 | ||
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028856 |
| .NET Framework (платформа) 3.5, 4.8.1 | Каталог | 5028850 |
| Windows Server 2022 | ||
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028858 |
| .NET Framework (платформа) 3.5, 4.8.1 | Каталог | 5028852 |
| Azure Stack HCI, версия 22H2 | 5028935 | |
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028858 |
| Azure Stack HCI, версия 21H2 | 5028943 | |
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028858 |
| Windows 10, версия 22H2 | 5028937 | |
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028853 |
| .NET Framework (платформа) 3.5, 4.8.1 | Каталог | 5028849 |
| Windows 10, версия 21H2 | 5028944 | |
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028853 |
| .NET Framework (платформа) 3.5, 4.8.1 | Каталог | 5028849 |
| Windows 10 1809 (актуализация от октомври 2018 г.) и Windows Server 2019 | 5028936 | |
| .NET Framework (платформа) 3.5, 4.7.2 | Каталог | 5028862 |
| .NET Framework (платформа) 3.5, 4.8 | Каталог | 5028855 |
| Windows 10 1607 (актуализация за годишнината) и Windows Server 2016 | ||
| .NET Framework (платформа) 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028169 |
| .NET Framework (платформа) 4.8 | Каталог | 5028854 |
| Windows 10 1507 | ||
| .NET Framework (платформа) 3.5, 4.6, 4.6.2 | Каталог | 5028186 |
| Windows Embedded 8.1 и Windows Server 2012 R2 | 5028941 | |
| .NET Framework 3.5 | Каталог | 5028872 |
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028864 |
| .NET Framework (платформа) 4.8 | Каталог | 5028859 |
| Windows Embedded 8 и Windows Server 2012 | 5028940 | |
| .NET Framework 3.5 | Каталог | 5028869 |
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028863 |
| .NET Framework (платформа) 4.8 | Каталог | 5028857 |
| Windows Embedded 7 Standard и Windows Server 2008 R2 SP1 | 5028939 | |
| .NET Framework (платформа) 3.5.1 | Каталог | 5028871 |
| .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2 | Каталог | 5028865 |
| .NET Framework (платформа) 4.8 | Каталог | 5028860 |
| Windows Server 2008 SP2 | 5028942 | |
| .NET Framework (платформа) 2.0, 3.0 | Каталог | 5028870 |
| .NET Framework (платформа) 4.6.2 | Каталог | 5028865 |
Засегнати актуализации
Следните версии на .NET Framework (платформа) и .NET са засегнати:
- .NET Framework (платформа) 4.6.2, 4.7, 4.7.1, 4.7.2, когато е инсталирана актуализацията на защитата от 13 юни 2022 г.
- .NET Framework (платформа) 4.8, когато е инсталирана актуализацията на защитата от 13 юни 2022 г.
- .NET Framework (платформа) 4.8.1, когато е инсталирана актуализацията на защитата от 13 юни 2022 г.
- .NET 6.0.18.
- .NET 7.0.7.
Често задавани въпроси (ЧЗВ)
Кога е въведена тази промяна?
Тази промяна в поведението е въведена в актуализациите на защитата от 13 юни 2022 г. за .NET и .NET Framework (платформа).
Необходимо ли е да инсталирам тази нова актуализация?
Инсталирането на тази нова актуализация е необходимо само ако вашето приложение има проблема, описан в заглавието "Симптом" в горната част на тази статия. Ако не се сблъскате с този проблем, няма нужда да инсталирате тази актуализация.
Тази нова актуализация замества ли актуализацията на .NET Framework (платформа) от 13 юни 2023 г.?
Не. Ако използвате .NET Framework (платформа), първо трябва да инсталирате сборния пакет за актуализация от 13 юни 2023 г. или актуализации само на защитата, преди да инсталирате новата актуализация от 22 юни 2023 г.
Тази нова актуализация замества ли .NET 6.0.18 или .NET 7.0.7?
Да. Като част от тази актуализация също така издаваме .NET 6.0.19 и .NET 7.0.8, които могат да бъдат изтеглени от https://get.dot.net/. Тези издания са предназначени да заменят .NET 6.0.18 и .NET 7.0.7, които бяха пуснати на 13 юни 2023 г.
Единствената разлика между .NET 6.0.19 / 7.0.8 и .NET 6.0.18 / 7.0.7 е корекцията за съвместимост, спомената по-горе. .NET 6.0.19 / 7.0.8 не носят никакви допълнителни корекции на защитата, освен това, което вече е публикувано в .NET 6.0.18 / 7.0.7.
Информация за защитата и сигурност
- Защитете се онлайн: Поддръжка на Защита в Windows
- Разберете как се предпазваме от киберзаплахи: Microsoft Security