KB5028608 Промяна в начина, по който .NET Framework (платформа)изпълнимият модул на изпълнение импортира X.509 сертификати

Забележка

Дата на издаване:
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:32
  • reg 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.

Информация за защитата и сигурност