KB5028608 Perubahan dalam cara runtime .NET Framework mengimpor Sertifikat X.509

Catatan

Tanggal rilis:
22 Juni 2022

[04/07/2023] Direvisi untuk menyertakan versi yang hilang untuk Windows 10, versi 1607 dan 1507

[24/07/2023] Direvisi untuk menambahkan detail rilis untuk 11 Juli 2023 Resolusi Rollup Keamanan dan Kualitas

Ringkasan

Artikel ini memberikan bantuan untuk mengurangi masalah ketika setelah menginstal pembaruan 13 Juni 2023 untuk .NET Framework dan .NET, pengguna mungkin mengalami masalah dengan cara runtime .NET Framework mengimpor Sertifikat X.509.

Gejala

Saat menggunakan , , atau X509Certificate2Collection kelas untuk mengimpor X509CertificateX509Certificate2blob PKCS#12 yang berisi kunci privat, aplikasi yang memanggil mungkin akan melihat pengecualian di bawah ini.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) tanpa kata sandi telah melebihi iterasi maksimum yang diizinkan. Lihat https://go.microsoft.com/fwlink/?linkid=2233907 untuk informasi selengkapnya.

Kegagalan ini memengaruhi blob PKCS#12 yang telah diekspor [misalnya, melalui] X509Certificate.Export(X509ContentType.Pfx)tanpa kata sandi. Kegagalan dapat terjadi secara non-deterministik.

Solusi

Microsoft telah merilis penginstal yang diperbarui untuk .NET Framework dan .NET guna mengatasi masalah ini. Penginstal ini dapat diterapkan ke komputer yang terpengaruh terlepas dari apakah komputer telah menerapkan pembaruan keamanan asli 13 Juni 2023, .NET Framework dan .NET.

Penting

  • Jika Anda sebelumnya menggunakan sakelar registri yang didokumentasikan di KB5025823 Perubahan cara aplikasi .NET mengimpor sertifikat X.509 untuk mengatasi masalah ini, silakan hapus sakelar registri tersebut sebelum menginstal patch baru. Jalankan dua perintah di bawah ini dari prompt perintah yang ditingkatkan untuk menghapus sakelar registri.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Resolusi

Masalah ini telah diatasi dalam pembaruan out-of-band yang dirilis pada 22 Juni 2023 untuk .NET Framework 4.6.2 dan versi yang lebih baru untuk versi Windows dan Windows Server yang terpengaruh oleh masalah ini. Untuk mendapatkan paket mandiri untuk pembaruan out-of-band ini, cari nomor KB di Katalog Microsoft Update. Anda dapat mengimpor pembaruan ini ke Windows Server Update Services (WSUS) dan Microsoft Endpoint Configuration Manager secara manual. Untuk petunjuk WSUS, lihat WSUS dan Situs Katalog. Untuk petunjuk Configuration Manger, lihat Mengimpor pembaruan dari Katalog Microsoft Update.

Jika Anda menggunakan solusi atau mitigasi untuk masalah ini, solusi tidak lagi diperlukan, dan kami menyarankan Anda menghapusnya. Untuk menghapus solusi, tinjau solusi atau solusi alternatif yang diterapkan untuk instruksi.

Versi Produk Perbarui Artikel Basis Pengetahuan
Windows 11, versi 22H2
.NET Framework 4.8.1 Katalog 5028576
Windows 11, versi 21H2
.NET Framework 4.8 Katalog 5028582
.NET Framework 4.8.1 Katalog 5028575
Windows Server 2022
.NET Framework 4.8 Katalog 5028584
.NET Framework 4.8.1 Katalog 5028578
Azure Stack HCI, versi 22H2
.NET Framework 4.8 Katalog 5028584
Azure Stack HCI, versi 21H2
.NET Framework 4.8 Katalog 5028584
Windows 10 Versi 22H2
.NET Framework 4.8 Katalog 5028579
.NET Framework 4.8.1 Katalog 5028574
Windows 10 Versi 21H2
.NET Framework 4.8 Katalog 5028579
.NET Framework 4.8.1 Katalog 5028574
Windows 10 1809 (Pembaruan Oktober 2018) dan Server Windows 2019
.NET Framework 4.7.2 Katalog 5028588
.NET Framework 4.8 Katalog 5028581
Windows 10 1607 (Pembaruan Hari Jadi) dan Server Windows 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028623
.NET Framework 4.8 Katalog 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Katalog 5028622
Windows Embedded 8.1 dan Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028590
.NET Framework 4.8 Katalog 5028585
Windows Embedded 8 dan Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028589
.NET Framework 4.8 Katalog 5028583
Windows Embedded 7 Standard dan Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028591
.NET Framework 4.8 Katalog 5028586
semua versi Windows yang didukung
.NET 6.0.19 Katalog 5028613
.NET 7.0.8 Katalog 5028614

Masalah ini telah diatasi dalam rollup kumulatif reguler yang dirilis pada 11 Juli 2023 untuk semua versi .NET Framework yang didukung untuk versi Windows dan Windows Server yang terpengaruh oleh masalah ini.  Rollup Keamanan dan Kualitas tersedia melalui Windows Update, Windows Server Update Services, dan Katalog Microsoft Update.

Catatan: Pelanggan yang bergantung pada Windows Update dan Windows Server Update Services akan secara otomatis menerima pembaruan khusus versi .NET Framework. Administrator sistem tingkat lanjut juga dapat menggunakan tautan unduhan Katalog Microsoft Update langsung di bawah ini ke pembaruan khusus .NET Framework. Sebelum menerapkan pembaruan ini, pastikan bahwa Anda meninjau penerapan versi .NET Framework dengan cermat, untuk memastikan bahwa Anda hanya menginstal pembaruan pada sistem tempat pembaruan tersebut berlaku.

Jika Anda menggunakan solusi atau mitigasi untuk masalah ini, solusi tidak lagi diperlukan, dan kami menyarankan Anda menghapusnya. Untuk menghapus solusi, tinjau solusi atau solusi alternatif yang diterapkan untuk instruksi.

Versi Produk Perbarui Artikel Basis Pengetahuan
Windows 11, versi 22H2
.NET Framework 3.5, 4.8.1 Katalog 5028851
Windows 11, versi 21H2
.NET Framework 3.5, 4.8 Katalog 5028856
.NET Framework 3.5, 4.8.1 Katalog 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Katalog 5028858
.NET Framework 3.5, 4.8.1 Katalog 5028852
Azure Stack HCI, versi 22H2 5028935
.NET Framework 3.5, 4.8 Katalog 5028858
Azure Stack HCI, versi 21H2 5028943
.NET Framework 3.5, 4.8 Katalog 5028858
Windows 10 Versi 22H2 5028937
.NET Framework 3.5, 4.8 Katalog 5028853
.NET Framework 3.5, 4.8.1 Katalog 5028849
Windows 10 Versi 21H2 5028944
.NET Framework 3.5, 4.8 Katalog 5028853
.NET Framework 3.5, 4.8.1 Katalog 5028849
Windows 10 1809 (Pembaruan Oktober 2018) dan Server Windows 2019 5028936
.NET Framework 3.5, 4.7.2 Katalog 5028862
.NET Framework 3.5, 4.8 Katalog 5028855
Windows 10 1607 (Pembaruan Hari Jadi) dan Server Windows 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028169
.NET Framework 4.8 Katalog 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Katalog 5028186
Windows Embedded 8.1 dan Windows Server 2012 R2 5028941
.NET Framework 3.5 Katalog 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028864
.NET Framework 4.8 Katalog 5028859
Windows Embedded 8 dan Windows Server 2012 5028940
.NET Framework 3.5 Katalog 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028863
.NET Framework 4.8 Katalog 5028857
Windows Embedded 7 Standard dan Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Katalog 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Katalog 5028865
.NET Framework 4.8 Katalog 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Katalog 5028870
.NET Framework 4.6.2 Katalog 5028865

Pembaruan yang terpengaruh

Versi .NET Framework dan .NET berikut terpengaruh:

  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, saat pembaruan keamanan 13 Juni 2022 diinstal.
  • .NET Framework 4.8, saat pembaruan keamanan 13 Juni 2022 diinstal.
  • .NET Framework 4.8.1, saat pembaruan keamanan 13 Juni 2022 diinstal.
  • .NET 6.0.18.
  • .NET 7.0.7.

Tanya Jawab Umum (FAQ)

Kapan perubahan ini diperkenalkan?

Perubahan perilaku ini diperkenalkan dalam pembaruan keamanan 13 Juni 2022 untuk .NET dan .NET Framework.

Apakah saya perlu menginstal pembaruan baru ini?

Menginstal pembaruan baru ini hanya diperlukan jika aplikasi Anda mengalami masalah yang dijelaskan dalam judul "Gejala" di bagian atas artikel ini. Jika Anda tidak mengalami masalah ini, Anda tidak perlu menginstal pembaruan ini.

Apakah pembaruan baru ini menggantikan pembaruan .NET Framework 13 Juni 2023?

Tidak. Jika menggunakan .NET Framework, Anda harus menginstal pembaruan rollup 13 Juni 2023 atau pembaruan keamanan saja terlebih dahulu sebelum menginstal pembaruan baru 22 Juni 2023.

Apakah pembaruan baru ini menggantikan .NET 6.0.18 atau .NET 7.0.7?

Ya. Sebagai bagian dari pembaruan ini, kami juga merilis .NET 6.0.19 dan .NET 7.0.8, yang keduanya dapat diunduh dari https://get.dot.net/. Rilis ini ditujukan untuk menggantikan .NET 6.0.18 dan .NET 7.0.7, yang dirilis pada 13 Juni 2023.

Satu-satunya perbedaan antara .NET 6.0.19 / 7.0.8 dan .NET 6.0.18 / 7.0.7 adalah perbaikan kompatibilitas yang disebutkan di atas. .NET 6.0.19 / 7.0.8 tidak membawa perbaikan keamanan tambahan apa pun di luar yang sudah dipublikasikan di .NET 6.0.18 / 7.0.7.

Informasi tentang perlindungan dan keamanan