KB5028608 Muutos siinä, miten .NET Framework Runtime tuo X.509-varmenteet

Huomautus

Julkaisupäivä:
Kesäkuu 22, 2022

[07/04/2023] Päivitetty sisältämään Windows 10:n versioiden 1607 ja 1507 puuttuvat versiot

[24.7.2023] Päivitetty 11. heinäkuuta 2023 suojaus- ja laatukoontiversion ratkaisun julkaisutietojen lisäämiseksi

Yhteenveto

Tässä artikkelissa on ohjeita ongelman lieventämiseen, kun 13. kesäkuuta 2023 julkaistujen .NET Framework- ja .NET-päivitysten asentamisen jälkeen käyttäjät saattavat kohdata ongelmia siinä, miten .NET Framework Runtime tuo X.509-varmenteita.

Oire

Kun käytät X509Certificate, X509Certificate2, tai X509Certificate2Collection luokkaa tuodakseen yksityisen avaimen sisältävän PKCS#12-blob-objektin, kutsuva sovellus saattaa havaita alla olevan poikkeuksen.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) ilman annettua salasanaa on ylittänyt iteraatioiden enimmäismäärän. Lisätietoja on https://go.microsoft.com/fwlink/?linkid=2233907.

Tämä virhe vaikuttaa PKCS#12-blob-objekteihin, jotka on viety [esimerkiksi kautta X509Certificate.Export(X509ContentType.Pfx)] ilman salasanaa. Virhe voi tapahtua ei-deterministisesti.

Ongelman kiertotapa

Microsoft on julkaissut päivitetyt asennusohjelmat .NET Framework- ja .NET -versioille tämän ongelman ratkaisemiseksi. Nämä asennusohjelmat voidaan ottaa käyttöön koneessa, johon ongelma vaikuttaa, riippumatta siitä, onko kone jo ottanut käyttöön alkuperäiset 13. kesäkuuta 2023 julkaistut .NET Framework- ja .NET Security -päivitykset.

Tärkeää

  • Jos olet aiemmin käyttänyt rekisterivalitsimia, jotka on dokumentoitu artikkelissa KB5025823 .NET-sovellusten X.509-varmenteiden tuontitavan muuttaminen ongelman kiertämiseksi, poista kyseiset rekisterikytkimet ennen uuden korjaustiedoston asentamista. Poista rekisterivalitsimet suorittamalla kaksi alla olevaa komentoa järjestelmänvalvojan oikeuksin suoritettavasta komentokehotteesta.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Ratkaisu

Tämä ongelma korjattiin 22. kesäkuuta 2023 julkaistuissa päivitystiheyden ulkopuolisissa päivityksissä .NET Framework 4.6.2:lle ja uudemmille versioille Windowsille ja Windows Server -versioille, joihin ongelma vaikuttaa. Jos haluat hankkia erillisen paketin näitä vanhentuneita päivityksiä varten, etsi KB-numero Microsoft Update -luettelosta. Voit tuoda nämä päivitykset manuaalisesti Windows Server Update Servicesiin (WSUS) ja Microsoft Endpoint Configuration Manageriin. WSUS-ohjeet ovat kohdassa WSUS ja luettelosivusto. Configuration Manger -ohjeet ovat kohdassa Päivitysten tuominen Microsoft Update -luettelosta.

Jos käytit tähän ongelmaan vaihtoehtoisia menetelmiä tai lievennyksiä, niitä ei enää tarvita, ja suosittelemme, että poistat ne. Voit poistaa vaihtoehtoisen menetelmän tutustumalla vaihtoehtoiseen menetelmään tai vaihtoehtoiseen menetelmään, jota käytettiin ohjeiden mukaisesti.

Tuoteversio Päivitä Knowledge Base -artikkeli
Windows 11:n versio 22H2
.NET Framework 4.8.1 Luettelo 5028576
Windows 11:n versio 21H2
.NET Framework 4.8 Luettelo 5028582
.NET Framework 4.8.1 Luettelo 5028575
Windows Server 2022
.NET Framework 4.8 Luettelo 5028584
.NET Framework 4.8.1 Luettelo 5028578
Azure Stack HCI, versio 22H2
.NET Framework 4.8 Luettelo 5028584
Azure Stack HCI, versio 21H2
.NET Framework 4.8 Luettelo 5028584
Windows 10 -versio 22H2
.NET Framework 4.8 Luettelo 5028579
.NET Framework 4.8.1 Luettelo 5028574
Windows 10:n versio 21H2
.NET Framework 4.8 Luettelo 5028579
.NET Framework 4.8.1 Luettelo 5028574
Windows 10 1809 (lokakuun 2018 päivitys) ja Windows Server 2019
.NET Framework 4.7.2 Luettelo 5028588
.NET Framework 4.8 Luettelo 5028581
Windows 10 1607 (Anniversary Update) ja Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028623
.NET Framework 4.8 Luettelo 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Luettelo 5028622
Windows Embedded 8.1 ja Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028590
.NET Framework 4.8 Luettelo 5028585
Windows Embedded 8 ja Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028589
.NET Framework 4.8 Luettelo 5028583
Windows Embedded 7 Standard ja Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028591
.NET Framework 4.8 Luettelo 5028586
kaikki tuetut Windows-versiot
.NET 6.0.19 Luettelo 5028613
.NET 7.0.8 Luettelo 5028614

Tämä ongelma korjattiin 11. heinäkuuta 2023 julkaistussa säännöllisessä kumulatiivisessa koontiversiossa kaikille tuetuille .NET Framework -versioille Windowsille ja Windows Server -versioille, joihin ongelma vaikuttaa.  Suojaus- ja laatukokoelma on saatavana Windows Update-, Windows Server Update Services- ja Microsoft Update -luettelon kautta.

Huomautus: Windows Update- ja Windows Server Update Services -palvelut käyttävät asiakkaat saavat .NET Framework -versiokohtaiset päivitykset automaattisesti. Kokeneet järjestelmänvalvojat voivat myös käyttää alla olevia suoria Microsoft Update -luettelon latauslinkkejä .NET Framework -päivityksiin. Ennen kuin asennat nämä päivitykset, varmista, että tarkistat huolellisesti .NET Framework -version soveltuvuuden varmistaaksesi, että asennat päivitykset vain järjestelmiin, joissa ne toimivat.

Jos käytit tähän ongelmaan vaihtoehtoisia menetelmiä tai lievennyksiä, niitä ei enää tarvita, ja suosittelemme, että poistat ne. Voit poistaa vaihtoehtoisen menetelmän tutustumalla vaihtoehtoiseen menetelmään tai vaihtoehtoiseen menetelmään, jota käytettiin ohjeiden mukaisesti.

Tuoteversio Päivitä Knowledge Base -artikkeli
Windows 11:n versio 22H2
.NET Framework 3.5, 4.8.1 Luettelo 5028851
Windows 11:n versio 21H2
.NET Framework 3.5, 4.8 Luettelo 5028856
.NET Framework 3.5, 4.8.1 Luettelo 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Luettelo 5028858
.NET Framework 3.5, 4.8.1 Luettelo 5028852
Azure Stack HCI, versio 22H2 5028935
.NET Framework 3.5, 4.8 Luettelo 5028858
Azure Stack HCI, versio 21H2 5028943
.NET Framework 3.5, 4.8 Luettelo 5028858
Windows 10 -versio 22H2 5028937
.NET Framework 3.5, 4.8 Luettelo 5028853
.NET Framework 3.5, 4.8.1 Luettelo 5028849
Windows 10:n versio 21H2 5028944
.NET Framework 3.5, 4.8 Luettelo 5028853
.NET Framework 3.5, 4.8.1 Luettelo 5028849
Windows 10 1809 (lokakuun 2018 päivitys) ja Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Luettelo 5028862
.NET Framework 3.5, 4.8 Luettelo 5028855
Windows 10 1607 (Anniversary Update) ja Windows Server 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028169
.NET Framework 4.8 Luettelo 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Luettelo 5028186
Windows Embedded 8.1 ja Windows Server 2012 R2 5028941
.NET Framework 3.5 Luettelo 5028872
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028864
.NET Framework 4.8 Luettelo 5028859
Windows Embedded 8 ja Windows Server 2012 5028940
.NET Framework 3.5 Luettelo 5028869
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028863
.NET Framework 4.8 Luettelo 5028857
Windows Embedded 7 Standard ja Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Luettelo 5028871
.NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2 Luettelo 5028865
.NET Framework 4.8 Luettelo 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Luettelo 5028870
.NET Framework 4.6.2 Luettelo 5028865

Päivitykset, joihin ongelma vaikuttaa

Tämä koskee seuraavia .NET Framework- ja .NET -versioita:

  • .NET Framework 4.6.2, 4.7, 4.7.1 ja 4.7.2, kun 13. kesäkuuta 2022 julkaistu suojauspäivitys on asennettu.
  • .NET Framework 4.8, kun 13. kesäkuuta 2022 julkaistu suojauspäivitys asennetaan.
  • .NET Framework 4.8.1, kun 13. kesäkuuta 2022 julkaistu suojauspäivitys asennetaan.
  • .NET 6.0.18.
  • .NET 7.0.7.

Usein kysytyt kysymykset

Milloin tämä muutos otettiin käyttöön?

Tämä toimintatavan muutos otettiin käyttöön 13. kesäkuuta 2022 julkaistuissa .NET- ja .NET Framework -tietoturvapäivityksissä.

Onko minun asennettava tämä uusi päivitys?

Tämän uuden päivityksen asentaminen on tarpeen vain, jos sovelluksessasi ilmenee tämän artikkelin yläosan Oire-otsikossa kuvattu ongelma. Jos tätä ongelmaa ei ilmene, sinun ei tarvitse asentaa tätä päivitystä.

Korvaako tämä uusi päivitys 13. kesäkuuta 2023 julkaistun .NET Framework -päivityksen?

Ei. Jos käytössäsi on .NET Framework, asenna ensin 13. kesäkuuta 2023 julkaistu koontiversio tai vain suojauspäivitykset ennen uuden 22. kesäkuuta 2023 julkaistun päivityksen asentamista.

Korvaako tämä uusi päivitys .NET 6.0.18:n tai .NET 7.0.7:n?

Kyllä. Osana tätä päivitystä julkaisemme myös .NET 6.0.19- ja .NET 7.0.8 -versiot, jotka molemmat ovat ladattavissa https://get.dot.net/. Nämä versiot on tarkoitettu korvaamaan .NET 6.0.18 ja .NET 7.0.7, jotka julkaistiin 13. kesäkuuta 2023.

Ainoa ero .NET 6.0.19:n / 7.0.8:n ja .NET 6.0.18:n / 7.0.7 välillä on edellä mainittu yhteensopivuuskorjaus. .NET 6.0.19 / 7.0.8 eivät sisällä muita suojauskorjauksia kuin ne, jotka on jo julkaistu .NET 6.0.18:ssa / 7.0.7:ssä.

Suojausta koskevat tiedot