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

หมายเหตุ

วันที่เผยแพร่:
วันที่ 22 มิถุนายน 2565

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

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

สรุป

บทความนี้จะช่วยบรรเทาปัญหาเมื่อติดตั้งการอัปเดตของวันที่ 13 มิถุนายน 2023 สําหรับ.NET Framework และ .NET ผู้ใช้อาจพบปัญหาเกี่ยวกับวิธีที่.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 เพื่อแก้ไขปัญหานี้ ตัวติดตั้งเหล่านี้สามารถนําไปใช้กับเครื่องที่ได้รับผลกระทบโดยไม่คํานึงว่าเครื่องได้ใช้การอัปเดตความปลอดภัยของวันที่ 13 มิถุนายน 2023 .NET Framework และ .NET อยู่แล้วหรือไม่

สำคัญ

  • หากก่อนหน้านี้คุณใช้สวิตช์รีจิสทรีที่บันทึกไว้ที่ KB5025823 Change เกี่ยวกับวิธีการนําเข้าใบรับรอง X.509 ของแอปพลิเคชัน .NET เพื่อแก้ไขปัญหานี้ โปรดลบสวิตช์รีจิสทรีเหล่านั้นออกก่อนที่จะติดตั้งโปรแกรมแก้ไขใหม่ เรียกใช้คําสั่งสองคําสั่งด้านล่างจากพร้อมท์คําสั่งด้วยสิทธิ์ผู้ดูแลเพื่อเอาสวิตช์รีจิสทรีออก
  • 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 (การปรับปรุงเดือนตุลาคม 2561) และ Windows Server 2562
.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 จะได้รับการอัปเดตเฉพาะเวอร์ชัน.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 (การปรับปรุงเดือนตุลาคม 2561) และ Windows Server 2562 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

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

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

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

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

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

การอัปเดตใหม่นี้แทนที่การอัปเดตของวันที่ 13 มิถุนายน 2023 .NET Framework หรือไม่

ไม่ หากคุณกําลังใช้ .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

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