KB5028608 Vykdymo laiko .NET Framework X.509 sertifikatų importavimo būdo pakeitimas

Pastaba

Leidimo data:
2022 m. birželio 22 d.

[2023-04-07] peržiūrėta, kad būtų įtrauktos trūkstamos "Windows 10" 1607 ir 1507 versijų versijos

[2023-07-24] peržiūrėta, kad būtų įtraukta išsami leidimo informacija apie 2023 m. liepos 11 d. saugos ir kokybės naujinimų paketo rezoliuciją

Suvestinė

Šiame straipsnyje pateikiama pagalba, kaip sumažinti problemą, kai įdiegus 2023 m. birželio 13 d. ".NET Framework" ir ".NET" naujinimus, vartotojams gali kilti problemų dėl to, kaip ".NET Framework" vykdyklė importuoja X.509 sertifikatus.

Požymis

Importuojant PKCS#12 dvejetainį objektą, kuriame yra privatusis raktas, naudojant X509Certificate, X509Certificate2arba X509Certificate2Collection klasę, iškvietimo programa gali paisyti toliau nurodytos išimties.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) be pateikto slaptažodžio viršijo didžiausią leistiną iteracijų skaičių. Daugiau informacijos žr. https://go.microsoft.com/fwlink/?linkid=2233907.

Ši triktis turi įtakos PKCS#12 dvejetainiams objektams, kurie buvo eksportuoti [pvz., per X509Certificate.Export(X509ContentType.Pfx)] be slaptažodžio. Triktis gali įvykti ne deterministiškai.

Sprendimas

Šiai problemai išspręsti "„Microsoft“" išleido atnaujintas ".NET Framework" ir ".NET" diegimo programas. Šios diegimo programos gali būti taikomos paveiktam įrenginiui, neatsižvelgiant į tai, ar įrenginys jau pritaikė pradinius 2023 m. birželio 13 d. ".NET Framework" ir ".NET" saugos naujinimus.

Svarbu

  • Jei anksčiau naudojote registro jungiklius, dokumentuotus KB5025823 .NET programų X.509 sertifikatų importavimo pokyčiai , norėdami išspręsti šią problemą, pašalinkite šiuos registro raktus prieš diegdami naują pataisą. Vykdykite dvi toliau pateiktas komandas iš didesnių teisių komandinės eilutės, kad pašalintumėte registro jungiklius.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Sprendimas

Ši problema buvo išspręsta 2023 m. birželio 22 d. išleistuose išoriniuose atnaujinimuose, skirtuose 4.6.2 .NET Framework ir naujesnėms versijoms, skirtoms "Windows" ir Windows Server versijoms, kurias paveikė ši problema. Norėdami gauti atskirą šių naujinimų, nepatenkančių į diapazoną, paketą, ieškokite KB numerio "„Microsoft“ Update" kataloge. Galite rankiniu būdu importuoti šiuos naujinimus į „Windows Server Update Services“ (WSUS) ir „Microsoft Endpoint Configuration Manager“. WSUS instrukcijų ieškokite WSUS ir katalogo svetainėje. "Configuration Manager" instrukcijų ieškokite Naujinimų importavimas iš "„Microsoft“ Update" katalogo.

Jei dėl šios problemos naudojote bet kokį problemos sprendimą ar mažinimą, jie nebebus reikalingi, todėl rekomenduojame juos pašalinti. Norėdami pašalinti sprendimą, peržiūrėkite sprendimo būdą arba alternatyvų sprendimo būdą, kuris buvo taikomas instrukcijoms.

Produkto versija Naujinimo Žinių bazės straipsnis
„Windows 11“, 22H2 versija
.NET Framework 4.8.1 Katalogas 5028576
„Windows 11“, 21H2 versija
.NET Framework 4.8 Katalogas 5028582
.NET Framework 4.8.1 Katalogas 5028575
Windows Server 2022
.NET Framework 4.8 Katalogas 5028584
.NET Framework 4.8.1 Katalogas 5028578
„Azure Stack HCI“, 22H2 versija
.NET Framework 4.8 Katalogas 5028584
„Azure Stack HCI“, 21H2 versija
.NET Framework 4.8 Katalogas 5028584
Windows 10 22H2 versija
.NET Framework 4.8 Katalogas 5028579
.NET Framework 4.8.1 Katalogas 5028574
Windows 10 21H2 versija
.NET Framework 4.8 Katalogas 5028579
.NET Framework 4.8.1 Katalogas 5028574
"Windows 10 1809" (2018 m. spalio mėn. naujinimas) ir "Windows Server 2019"
.NET Framework 4.7.2 Katalogas 5028588
.NET Framework 4.8 Katalogas 5028581
"Windows 10 1607" (metinis naujinimas) ir "Windows Server 2016"
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028623
.NET Framework 4.8 Katalogas 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Katalogas 5028622
"Windows Embedded 8.1" ir "Windows Server 2012 R2"
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028590
.NET Framework 4.8 Katalogas 5028585
"Windows Embedded 8" ir "Windows Server 2012"
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028589
.NET Framework 4.8 Katalogas 5028583
"Windows Embedded 7 Standard" ir "Windows Server 2008 R2 SP1"
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028591
.NET Framework 4.8 Katalogas 5028586
visos palaikomos "Windows" versijos
.NET 6.0.19 Katalogas 5028613
.NET 7.0.8 Katalogas 5028614

Ši problema buvo išspręsta 2023 m. liepos 11 d. išleistame įprastame kaupiamajame naujinimų pakete, išleistame visoms palaikomoms ".NET Framework" versijoms, skirtoms "Windows", ir "Windows Server" versijoms, kurias paveikė ši problema.  Saugos ir kokybės naujinimų paketas pasiekiamas per "„Windows Update“", "Windows Server Update Services" ir "„Microsoft“ Update" katalogą.

Pastaba: Klientai, kurie naudoja "„Windows Update“" ir "Windows Server Update Services", automatiškai gaus ".NET Framework" konkrečios versijos naujinimus. Patyrę sistemos administratoriai taip pat gali pasinaudoti toliau pateiktais tiesioginiais "„Microsoft“ Update" katalogo atsisiuntimo saitais į ".NET Framework" specifinius naujinimus. Prieš taikydami šiuos naujinimus, įsitikinkite, kad atidžiai peržiūrėjote ".NET Framework" versijos taikomumą, kad įsitikintumėte, jog diegiate naujinimus tik tose sistemose, kuriose jie taikomi.

Jei dėl šios problemos naudojote bet kokį problemos sprendimą ar mažinimą, jie nebebus reikalingi, todėl rekomenduojame juos pašalinti. Norėdami pašalinti sprendimą, peržiūrėkite sprendimo būdą arba alternatyvų sprendimo būdą, kuris buvo taikomas instrukcijoms.

Produkto versija Naujinimo Žinių bazės straipsnis
„Windows 11“, 22H2 versija
".NET Framework" 3.5, 4.8.1 Katalogas 5028851
„Windows 11“, 21H2 versija
.NET Framework 3.5, 4.8 Katalogas 5028856
".NET Framework" 3.5, 4.8.1 Katalogas 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Katalogas 5028858
".NET Framework" 3.5, 4.8.1 Katalogas 5028852
„Azure Stack HCI“, 22H2 versija 5028935
.NET Framework 3.5, 4.8 Katalogas 5028858
„Azure Stack HCI“, 21H2 versija 5028943
.NET Framework 3.5, 4.8 Katalogas 5028858
Windows 10 22H2 versija 5028937
.NET Framework 3.5, 4.8 Katalogas 5028853
".NET Framework" 3.5, 4.8.1 Katalogas 5028849
Windows 10 21H2 versija 5028944
.NET Framework 3.5, 4.8 Katalogas 5028853
".NET Framework" 3.5, 4.8.1 Katalogas 5028849
"Windows 10 1809" (2018 m. spalio mėn. naujinimas) ir "Windows Server 2019" 5028936
.NET Framework 3.5, 4.7.2 Katalogas 5028862
.NET Framework 3.5, 4.8 Katalogas 5028855
"Windows 10 1607" (metinis naujinimas) ir "Windows Server 2016"
".NET Framework" 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028169
.NET Framework 4.8 Katalogas 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Katalogas 5028186
"Windows Embedded 8.1" ir "Windows Server 2012 R2" 5028941
„.NET Framework 3.5“ Katalogas 5028872
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028864
.NET Framework 4.8 Katalogas 5028859
"Windows Embedded 8" ir "Windows Server 2012" 5028940
„.NET Framework 3.5“ Katalogas 5028869
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028863
.NET Framework 4.8 Katalogas 5028857
"Windows Embedded 7 Standard" ir "Windows Server 2008 R2 SP1" 5028939
.NET Framework 3.5.1 Katalogas 5028871
".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2 Katalogas 5028865
.NET Framework 4.8 Katalogas 5028860
„Windows Server 2008“ SP2 5028942
.NET Framework 2.0, 3.0 Katalogas 5028870
.NET Framework 4.6.2 Katalogas 5028865

Paveikti naujinimai

Paveiktos šios ".NET Framework" ir ".NET" versijos:

  • ".NET Framework" 4.6.2, 4.7, 4.7.1, 4.7.2, kai įdiegtas 2022 m. birželio 13 d. saugos naujinimas.
  • ".NET Framework 4.8", kai įdiegtas 2022 m. birželio 13 d. saugos naujinimas.
  • ".NET Framework 4.8.1", kai įdiegtas 2022 m. birželio 13 d. saugos naujinimas.
  • .NET 6.0.18.
  • .NET 7.0.7.

Dažnai užduodami klausimai (DUK)

Kada buvo įvestas šis pakeitimas?

Šis veikimo pokytis buvo pristatytas 2022 m. birželio 13 d. .NET ir .NET Framework saugos naujinimuose.

Ar būtina įdiegti šį naują naujinimą?

Įdiegti šį naują naujinimą būtina tik tuo atveju, jei jūsų programa susiduria su problema, aprašyta šio straipsnio viršuje esančioje antraštėje "Požymis". Jei ši problema nekyla, jums nereikia diegti šio naujinimo.

Ar šis naujas naujinimas pakeis 2023 m. birželio 13 d. ".NET Framework" naujinimą?

Ne. Jei naudojate ".NET Framework", pirmiausia turėtumėte įdiegti 2023 m. birželio 13 d. specifinių naujinimų paketą arba tik saugos naujinimus, prieš diegdami naują 2023 m. birželio 22 d. naujinimą.

Ar šis naujas naujinimas pakeičia .NET 6.0.18 arba .NET 7.0.7?

Taip. Kaip šio naujinimo dalį išleidžiame .NET 6.0.19 ir .NET 7.0.8, kurias abi galima atsisiųsti iš https://get.dot.net/. Šie leidimai skirti pakeisti .NET 6.0.18 ir .NET 7.0.7, kurie buvo išleisti 2023 m. birželio 13 d.

Vienintelis skirtumas tarp .NET 6.0.19 / 7.0.8 ir .NET 6.0.18 / 7.0.7 yra anksčiau minėta suderinamumo pataisa. .NET 6.0.19 / 7.0.8 versijose nėra jokių papildomų saugos pataisų, išskyrus tas, kurios jau buvo paskelbtos .NET 6.0.18 / 7.0.7.

Informacija apie apsaugą ir saugą