KB5028608 การเปลี่ยนแปลงวิธีการ.NET Framework รันไทม์นําเข้าใบรับรอง X.509

หมายเหตุ

วันที่วางจําหน่าย:
มิถุนายน 22, 2022

[07/04/2023] แก้ไขเพื่อรวมเวอร์ชันที่หายไปสําหรับ Windows 10 เวอร์ชัน 1607 และ 1507

[07/24/2023] แก้ไขเพื่อเพิ่มรายละเอียดการเผยแพร่สําหรับวันที่ 11 กรกฎาคม 2023 ความละเอียดการเปิดตัวด้านความปลอดภัยและคุณภาพ

สรุป

บทความนี้จะช่วยเพื่อลดปัญหาเมื่อหลังจากติดตั้งการอัปเดตสําหรับ .NET Framework และ .NET ในวันที่ 13 มิถุนายน 2023 ผู้ใช้อาจพบปัญหาเกี่ยวกับวิธีการที่รันไทม์ .NET Framework นําเข้าใบรับรอง X.509

อาการ

เมื่อใช้ X509Certificate, X509Certificate2, หรือ X509Certificate2Collection คลาสเพื่อนําเข้า blob PKCS#12 ที่มีคีย์ส่วนตัว แอปพลิเคชันที่เรียกอาจสังเกตเห็นข้อยกเว้นด้านล่าง

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) ที่ไม่มีรหัสผ่านที่ให้มาเกินจํานวนครั้งสูงสุดที่อนุญาต โปรดดู https://go.microsoft.com/fwlink/?linkid=2233907 สําหรับข้อมูลเพิ่มเติม

ความล้มเหลวนี้มีผลต่อ Blob PKCS#12 ที่ถูกส่งออก [เช่น ผ่านทาง X509Certificate.Export(X509ContentType.Pfx)] โดยไม่มีรหัสผ่าน ความล้มเหลวอาจเกิดขึ้นโดยไม่กําหนด

วิธีแก้ไขปัญหา

Microsoft ได้เปิดตัวตัวติดตั้งที่อัปเดตสําหรับ .NET Framework และ .NET เพื่อแก้ไขปัญหานี้ ตัวติดตั้งเหล่านี้สามารถนําไปใช้กับเครื่องที่ได้รับผลกระทบได้ ไม่ว่าเครื่องดังกล่าวได้ใช้การอัปเดตความปลอดภัย .NET Framework และ .NET เดิมในวันที่ 13 มิถุนายน 2023 แล้วหรือไม่

สำคัญ

  • หากก่อนหน้านี้คุณเคยใช้สวิตช์รีจิสทรีที่ระบุไว้ที่ 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 ที่ได้รับผลกระทบจากปัญหานี้ เมื่อต้องการขอรับแพคเกจแบบสแตนด์อโลนสําหรับการอัปเดตนอกแ่บนด์ ให้ค้นหาหมายเลข KB ใน Microsoft Update Catalog คุณสามารถนําเข้าการอัปเดตเหล่านี้ลงใน Windows Server Update Services (WSUS) และ Microsoft Endpoint Configuration Manager ได้ด้วยตนเอง สําหรับคําแนะนํา WSUS ให้ดู WSUS และไซต์แค็ตตาล็อก สําหรับคําแนะนํา Configuration Manger ให้ดู นําเข้าการอัปเดตจาก Microsoft Update Catalog

ถ้าคุณใช้วิธีแก้ไขปัญหาชั่วคราวหรือการบรรเทาปัญหาสำหรับปัญหานี้ วิธีแก้ไขปัญหาชั่วคราวหรือการบรรเทาปัญหาไม่จําเป็นต้องใช้อีกต่อไป และเราขอแนะนําให้คุณนําออก เมื่อต้องการนําวิธีแก้ไขปัญหาชั่วคราวออก ให้ตรวจสอบวิธีแก้ไขปัญหาชั่วคราวหรือวิธีแก้ไขปัญหาชั่วคราวสํารองที่ได้นําไปใช้สําหรับคําแนะนํา

รุ่นของผลิตภัณฑ์ อัปเดต บทความฐานความรู้
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 Update, Windows Server Update Services และ Microsoft Update Catalog

หมายเหตุ: ลูกค้าที่ใช้บริการ Windows Update และ Windows Server Update Service จะได้รับการอัปเดตเฉพาะเวอร์ชัน .NET Framework โดยอัตโนมัติ ผู้ดูแลระบบขั้นสูงยังสามารถใช้ลิงก์ดาวน์โหลด Microsoft Update Catalog โดยตรงด้านล่างไปยังการอัปเดตเฉพาะสําหรับ .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.

คําถามที่ถามบ่อย (FAQ)

การเปลี่ยนแปลงนี้เริ่มใช้เมื่อใด

การเปลี่ยนแปลงลักษณะการทํางานนี้เริ่มนํามาใช้ในการอัปเดตความปลอดภัยสําหรับ .NET และ .NET Framework ในวันที่ 13 มิถุนายน 2022

ฉันจําเป็นต้องติดตั้งการอัปเดตใหม่นี้หรือไม่

จําเป็นต้องติดตั้งการอัปเดตใหม่นี้เฉพาะเมื่อแอปพลิเคชันของคุณพบปัญหาที่อธิบายไว้ในส่วนหัวของ "อาการ" ที่ด้านบนของบทความนี้เท่านั้น หากคุณไม่พบปัญหานี้ คุณไม่จําเป็นต้องติดตั้งการอัปเดตนี้

การอัปเดตใหม่นี้แทนที่การอัปเดต .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

ข้อมูลเกี่ยวกับการป้องกันและการรักษาความปลอดภัย