KB5028608 Modificarea modului în care modulul runtime .NET Framework importă certificatele X.509

Notă

Data lansării:
22 iunie 2022

[04.07.2023] revizuit pentru a include versiunile lipsă pentru Windows 10, versiunea 1607 și 1507

[24.07.2023] revizuit pentru a adăuga detalii despre lansare pentru 11 iulie 2023 Rezoluția setului de securitate și calitate

Rezumat

Acest articol oferă ajutor pentru a atenua o problemă atunci când, după instalarea actualizărilor din 13 iunie 2023 pentru .NET Framework și .NET, utilizatorii pot întâmpina probleme cu modul în care runtime-ul .NET Framework importă certificatele X.509.

Simptom

Atunci când utilizați X509Certificateclasa , X509Certificate2, sau X509Certificate2Collection pentru a importa un blob PKCS#12 care conține o cheie privată, aplicația apelantă poate respecta excepția de mai jos.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) fără o parolă furnizată a depășit numărul maxim de iterații permise. Consultați https://go.microsoft.com/fwlink/?linkid=2233907 pentru mai multe informații.

Această eroare afectează bloburile PKCS#12 care au fost exportate [de exemplu, prin X509Certificate.Export(X509ContentType.Pfx)] fără o parolă. Eroarea poate apărea non-determinist.

Soluție de evitare

Microsoft a lansat programe de instalare actualizate pentru .NET Framework și .NET pentru a remedia această problemă. Aceste programe de instalare pot fi aplicate la computerul afectat, indiferent dacă computerul a aplicat deja actualizările de securitate originale din 13 iunie 2023, .NET Framework și .NET Framework.

Important

  • Dacă ați utilizat anterior comutatoarele de registry documentate la KB5025823 Modificarea modului în care aplicațiile .NET importă certificate X.509 pentru a rezolva această problemă, eliminați aceste comutatoare de registry înainte de a instala noua corecție. Rulați cele două comenzi de mai jos dintr-o linie de comandă cu drepturi sporite pentru a elimina comutatoarele de registry.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Rezolvarea

Această problemă a fost tratată în actualizările în afara benzii lansate la 22 iunie 2023 pentru .NET Framework 4.6.2 și versiunile mai noi pentru Windows și Windows Server afectate de această problemă. Pentru a obține pachetul independent pentru aceste actualizări în afara benzii, căutați numărul KB în Catalogul Microsoft Update. Puteți importa manual aceste actualizări în Windows Server Update Services (WSUS) și Microsoft Endpoint Configuration Manager. Pentru instrucțiuni WSUS, consultați WSUS și site-ul catalogului. Pentru instrucțiuni pentru Configuration Manger, consultați Importul actualizărilor din catalogul Microsoft Update.

Dacă ați utilizat vreo soluție de evitare sau reducere pentru această problemă, aceasta nu mai este necesară și vă recomandăm să o eliminați. Pentru a elimina soluția, revizuiți soluția sau alternativa aplicată pentru instrucțiuni.

Versiune produs Actualizare
Windows 11, versiunea 22H2
.NET Framework 4.8.1 Catalog 5028576
Windows 11, versiunea 21H2
.NET Framework 4.8 Catalog 5028582
.NET Framework 4.8.1 Catalog 5028575
Windows Server 2022
.NET Framework 4.8 Catalog 5028584
.NET Framework 4.8.1 Catalog 5028578
Azure Stack HCI, versiunea 22H2
.NET Framework 4.8 Catalog 5028584
Azure Stack HCI, versiunea 21H2
.NET Framework 4.8 Catalog 5028584
Windows 10 versiunea 22H2
.NET Framework 4.8 Catalog 5028579
.NET Framework 4.8.1 Catalog 5028574
Windows 10 versiunea 21H2
.NET Framework 4.8 Catalog 5028579
.NET Framework 4.8.1 Catalog 5028574
Windows 10 1809 (actualizarea din octombrie 2018) și Windows Server 2019
.NET Framework 4.7.2 Catalog 5028588
.NET Framework 4.8 Catalog 5028581
Windows 10 1607 (Actualizare aniversară) și Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028623
.NET Framework 4.8 Catalog 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Catalog 5028622
Windows Embedded 8.1 și Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028590
.NET Framework 4.8 Catalog 5028585
Windows Embedded 8 și Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028589
.NET Framework 4.8 Catalog 5028583
Windows Embedded 7 Standard și Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028591
.NET Framework 4.8 Catalog 5028586
toate versiunile de Windows acceptate
.NET 6.0.19 Catalog 5028613
.NET 7.0.8 Catalog 5028614

Această problemă a fost tratată în setul cumulativ obișnuit lansat la 11 iulie 2023 pentru toate versiunile .NET Framework acceptate pentru Windows și Windows Server afectate de această problemă.  Setul de securitate și calitate este disponibil prin Windows Update, Windows Server Update Services și Catalogul Microsoft Update.

Notă: Clienții care se bazează pe Windows Update și Windows Server Update Services vor primi automat actualizări specifice versiunii .NET Framework. Administratorii de sistem avansați pot utiliza, de asemenea, linkurile de descărcare directe ale catalogului Microsoft Update de mai jos pentru actualizări specifice .NET Framework. Înainte de a aplica aceste actualizări, asigurați-vă că revizuiți cu atenție aplicabilitatea versiunii .NET Framework, pentru a vă asigura că instalați actualizări doar pe sistemele în care se aplică.

Dacă ați utilizat vreo soluție de evitare sau reducere pentru această problemă, aceasta nu mai este necesară și vă recomandăm să o eliminați. Pentru a elimina soluția, revizuiți soluția sau alternativa aplicată pentru instrucțiuni.

Versiune produs Actualizare
Windows 11, versiunea 22H2
.NET Framework 3.5, 4.8.1 Catalog 5028851
Windows 11, versiunea 21H2
.NET Framework 3.5, 4.8 Catalog 5028856
.NET Framework 3.5, 4.8.1 Catalog 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Catalog 5028858
.NET Framework 3.5, 4.8.1 Catalog 5028852
Azure Stack HCI, versiunea 22H2 5028935
.NET Framework 3.5, 4.8 Catalog 5028858
Azure Stack HCI, versiunea 21H2 5028943
.NET Framework 3.5, 4.8 Catalog 5028858
Windows 10 versiunea 22H2 5028937
.NET Framework 3.5, 4.8 Catalog 5028853
.NET Framework 3.5, 4.8.1 Catalog 5028849
Windows 10 versiunea 21H2 5028944
.NET Framework 3.5, 4.8 Catalog 5028853
.NET Framework 3.5, 4.8.1 Catalog 5028849
Windows 10 1809 (actualizarea din octombrie 2018) și Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Catalog 5028862
.NET Framework 3.5, 4.8 Catalog 5028855
Windows 10 1607 (Actualizare aniversară) și Windows Server 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028169
.NET Framework 4.8 Catalog 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Catalog 5028186
Windows Embedded 8.1 și Windows Server 2012 R2 5028941
.NET Framework 3.5 Catalog 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028864
.NET Framework 4.8 Catalog 5028859
Windows Embedded 8 și Windows Server 2012 5028940
.NET Framework 3.5 Catalog 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028863
.NET Framework 4.8 Catalog 5028857
Windows Embedded 7 Standard și Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Catalog 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalog 5028865
.NET Framework 4.8 Catalog 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Catalog 5028870
.NET Framework 4.6.2 Catalog 5028865

Actualizări afectate

Sunt afectate următoarele versiuni de .NET Framework și .NET:

  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, atunci când este instalată actualizarea de securitate din 13 iunie 2022.
  • .NET Framework 4.8, atunci când este instalată actualizarea de securitate din 13 iunie 2022.
  • .NET Framework 4.8.1, atunci când este instalată actualizarea de securitate din 13 iunie 2022.
  • .NET 6.0.18.
  • .NET 7.0.7.

Întrebări frecvente (FAQs)

Când a fost introdusă această modificare?

Această modificare a comportamentului a fost introdusă în actualizările de securitate din 13 iunie 2022 pentru .NET și .NET Framework.

Este necesar să instalez această actualizare nouă?

Instalarea acestei noi actualizări este necesară doar dacă aplicația dvs. întâmpină problema descrisă în titlul "Simptom" din partea de sus a acestui articol. Dacă nu întâmpinați această problemă, nu este necesar să instalați această actualizare.

Această nouă actualizare înlocuiește actualizarea .NET Framework din 13 iunie 2023?

Nu. Dacă utilizați .NET Framework, ar trebui să instalați mai întâi setul din 13 iunie 2023 sau actualizările doar de securitate înainte de a instala noua actualizare din 22 iunie 2023.

Această nouă actualizare înlocuiește .NET 6.0.18 sau .NET 7.0.7?

Da. Ca parte a acestei actualizări, lansăm și .NET 6.0.19 și .NET 7.0.8, ambele putând fi descărcate de pe https://get.dot.net/. Aceste versiuni sunt menite să înlocuiască .NET 6.0.18 și .NET 7.0.7, care au fost lansate pe 13 iunie 2023.

Singura diferență dintre .NET 6.0.19 / 7.0.8 și .NET 6.0.18 / 7.0.7 este remedierea de compatibilitate menționată mai sus. .NET 6.0.19 / 7.0.8 nu poartă nicio remediere de securitate suplimentară în afară de ceea ce a fost publicat deja în .NET 6.0.18 / 7.0.7.

Informații despre protecție și securitate