KB5028608 Thay đổi về cách .NET Framework Runtime nhập Chứng chỉ X.509

Lưu ý

Ngày phát hành:
Tháng Sáu 22, 2022

[07/04/2023] đã sửa đổi để bao gồm các phiên bản bị thiếu cho Windows 10, phiên bản 1607 và 1507

[24/07/2023] đã sửa đổi để thêm chi tiết bản phát hành cho ngày 11 tháng 7 năm 2023 Giải pháp Bản tổng hợp bảo mật và chất lượng

Tóm tắt

Bài viết này cung cấp trợ giúp để giảm thiểu sự cố khi sau khi cài đặt bản cập nhật ngày 13 tháng 6 năm 2023 cho .NET Framework và .NET, người dùng có thể gặp sự cố với cách .NET Framework runtime nhập Chứng chỉ X.509.

Dấu hiệu

Khi sử dụng , X509Certificatehoặc X509Certificate2X509Certificate2Collection lớp để nhập blob PKCS#12 có chứa khóa riêng, ứng dụng gọi có thể quan sát thấy ngoại lệ sau đây.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) mà không có mật khẩu được cung cấp đã vượt quá số lần lặp tối đa được phép. Xem https://go.microsoft.com/fwlink/?linkid=2233907 để biết thêm thông tin.

Lỗi này ảnh hưởng đến các blob PKCS#12 đã được xuất [ví dụ: thông qua] X509Certificate.Export(X509ContentType.Pfx)mà không có mật khẩu. Sự cố có thể xảy ra không xác định.

Giải pháp

Microsoft đã phát hành các trình cài đặt cập nhật cho .NET Framework và .NET để giải quyết sự cố này. Các trình cài đặt này có thể được áp dụng cho máy bị ảnh hưởng bất kể máy đã áp dụng các bản cập nhật bảo mật .NET Framework và .NET gốc ngày 13 tháng 6 năm 2023 hay chưa.

Quan trọng

  • Nếu trước đây bạn đã sử dụng các khóa chuyển sổ đăng ký được ghi lại tại KB5025823 Thay đổi cách các ứng dụng .NET nhập chứng chỉ X.509 để khắc phục sự cố này, vui lòng xóa các khóa chuyển sổ đăng ký đó trước khi cài đặt bản vá mới. Chạy hai lệnh bên dưới từ dấu nhắc lệnh nâng cao để loại bỏ các khóa chuyển sổ đăng ký.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Giải pháp

Sự cố này đã được giải quyết trong các bản cập nhật ngoài băng tần được phát hành vào ngày 22 tháng 6 năm 2023, cho .NET Framework 4.6.2 và các phiên bản mới hơn dành cho Windows và các phiên bản Windows Server bị ảnh hưởng bởi sự cố này. Để tải gói độc lập cho các bản cập nhật ngoài băng tần này, hãy tìm kiếm số KB trong Danh mục Microsoft Update. Bạn có thể nhập các bản cập nhật này theo cách thủ công vào Windows Server Update Services (WSUS) và Microsoft Endpoint Configuration Manager. Để biết hướng dẫn về WSUS, hãy xem WSUS và Site Danh mục. Để biết hướng dẫn về Bộ quản lý Cấu hình, hãy xem Nhập các bản cập nhật từ Danh mục Microsoft Update.

Nếu bạn đã sử dụng bất kỳ giải pháp thay thế hoặc giảm nhẹ nào cho vấn đề này, chúng không còn cần thiết nữa và chúng tôi khuyên bạn nên loại bỏ chúng. Để loại bỏ giải pháp thay thế, hãy xem xét giải pháp thay thế hoặc giải pháp thay thế đã được áp dụng để được hướng dẫn.

Phiên bản Sản phẩm Cập nhật Bài viết Cơ sở Tri thức
Windows 11, phiên bản 22H2
.NET Framework 4.8.1 Danh mục 5028576
Windows 11, phiên bản 21H2
.NET Framework 4.8 Danh mục 5028582
.NET Framework 4.8.1 Danh mục 5028575
Windows Server 2022
.NET Framework 4.8 Danh mục 5028584
.NET Framework 4.8.1 Danh mục 5028578
Azure Stack HCI, phiên bản 22H2
.NET Framework 4.8 Danh mục 5028584
Azure Stack HCI, phiên bản 21H2
.NET Framework 4.8 Danh mục 5028584
Windows 10 Phiên bản 22H2
.NET Framework 4.8 Danh mục 5028579
.NET Framework 4.8.1 Danh mục 5028574
Windows 10 Phiên bản 21H2
.NET Framework 4.8 Danh mục 5028579
.NET Framework 4.8.1 Danh mục 5028574
Windows 10 1809 (Bản cập nhật tháng 10 năm 2018) và Windows Server 2019
.NET Framework 4.7.2 Danh mục 5028588
.NET Framework 4.8 Danh mục 5028581
Windows 10 1607 (Bản cập nhật kỷ niệm) và Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028623
.NET Framework 4.8 Danh mục 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Danh mục 5028622
Windows Embedded 8.1 và Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028590
.NET Framework 4.8 Danh mục 5028585
Windows Embedded 8 và Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028589
.NET Framework 4.8 Danh mục 5028583
Windows Embedded 7 Standard và Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028591
.NET Framework 4.8 Danh mục 5028586
tất cả các phiên bản Windows được hỗ trợ
.NET 6.0.19 Danh mục 5028613
.NET 7.0.8 Danh mục 5028614

Sự cố này đã được giải quyết trong bản tổng hợp tích lũy thông thường được phát hành vào ngày 11 tháng 7 năm 2023, cho tất cả các phiên bản .NET Framework được hỗ trợ cho Windows và các phiên bản Windows Server bị ảnh hưởng bởi sự cố này.  Bản tổng hợp Bảo mật và Chất lượng có sẵn thông qua Windows Update, Dịch vụ Cập nhật Windows Server và Danh mục Microsoft Update.

Lưu ý: Những khách hàng tin cậy vào Dịch vụ Cập nhật Windows Update và Windows Server sẽ tự động nhận được các bản cập nhật dành riêng cho phiên bản .NET Framework. Quản trị viên hệ thống nâng cao cũng có thể sử dụng các liên kết tải xuống Danh mục Microsoft Update trực tiếp bên dưới để cập nhật dành riêng cho .NET Framework. Trước khi áp dụng các bản cập nhật này, hãy đảm bảo rằng bạn xem xét cẩn thận khả năng áp dụng của phiên bản .NET Framework để đảm bảo rằng bạn chỉ cài đặt các bản cập nhật trên hệ thống có áp dụng các bản cập nhật đó.

Nếu bạn đã sử dụng bất kỳ giải pháp thay thế hoặc giảm nhẹ nào cho vấn đề này, chúng không còn cần thiết nữa và chúng tôi khuyên bạn nên loại bỏ chúng. Để loại bỏ giải pháp thay thế, hãy xem xét giải pháp thay thế hoặc giải pháp thay thế đã được áp dụng để được hướng dẫn.

Phiên bản Sản phẩm Cập nhật Bài viết Cơ sở Tri thức
Windows 11, phiên bản 22H2
.NET Framework 3.5, 4.8.1 Danh mục 5028851
Windows 11, phiên bản 21H2
.NET Framework 3.5, 4.8 Danh mục 5028856
.NET Framework 3.5, 4.8.1 Danh mục 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Danh mục 5028858
.NET Framework 3.5, 4.8.1 Danh mục 5028852
Azure Stack HCI, phiên bản 22H2 5028935
.NET Framework 3.5, 4.8 Danh mục 5028858
Azure Stack HCI, phiên bản 21H2 5028943
.NET Framework 3.5, 4.8 Danh mục 5028858
Windows 10 Phiên bản 22H2 5028937
.NET Framework 3.5, 4.8 Danh mục 5028853
.NET Framework 3.5, 4.8.1 Danh mục 5028849
Windows 10 Phiên bản 21H2 5028944
.NET Framework 3.5, 4.8 Danh mục 5028853
.NET Framework 3.5, 4.8.1 Danh mục 5028849
Windows 10 1809 (Bản cập nhật tháng 10 năm 2018) và Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Danh mục 5028862
.NET Framework 3.5, 4.8 Danh mục 5028855
Windows 10 1607 (Bản cập nhật kỷ niệm) và Windows Server 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028169
.NET Framework 4.8 Danh mục 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Danh mục 5028186
Windows Embedded 8.1 và Windows Server 2012 R2 5028941
.NET Framework 3.5 Danh mục 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028864
.NET Framework 4.8 Danh mục 5028859
Windows Embedded 8 và Windows Server 2012 5028940
.NET Framework 3.5 Danh mục 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028863
.NET Framework 4.8 Danh mục 5028857
Windows Embedded 7 Standard và Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Danh mục 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Danh mục 5028865
.NET Framework 4.8 Danh mục 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Danh mục 5028870
.NET Framework 4.6.2 Danh mục 5028865

Các bản cập nhật bị ảnh hưởng

Các phiên bản .NET Framework và .NET sau đây bị ảnh hưởng:

  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 khi bản cập nhật bảo mật ngày 13 tháng 6 năm 2022 được cài đặt.
  • .NET Framework 4.8, khi bản cập nhật bảo mật ngày 13 tháng 6 năm 2022 được cài đặt.
  • .NET Framework 4.8.1, khi bản cập nhật bảo mật ngày 13 tháng 6 năm 2022 được cài đặt.
  • .NET 6.0.18.
  • .NET 7.0.7.

Câu hỏi thường gặp (FAQ)

Thay đổi này được giới thiệu khi nào?

Thay đổi hành vi này đã được giới thiệu trong các bản cập nhật bảo mật ngày 13 tháng 6 năm 2022 cho .NET và .NET Framework.

Tôi có cần cài đặt bản cập nhật mới này không?

Chỉ cần cài đặt bản cập nhật mới này nếu ứng dụng của bạn đang gặp phải sự cố được mô tả trong tiêu đề "Triệu chứng" ở đầu bài viết này. Nếu bạn không gặp phải sự cố này, bạn không cần cài đặt bản cập nhật này.

Bản cập nhật mới này có thay thế bản cập nhật .NET Framework ngày 13 tháng 6 năm 2023 không?

Không. Nếu bạn đang sử dụng .NET Framework, trước tiên bạn nên cài đặt bản tổng hợp ngày 13 tháng 6 năm 2023 hoặc các bản cập nhật chỉ dành cho bảo mật trước khi cài đặt bản cập nhật mới ngày 22 tháng 6 năm 2023.

Bản cập nhật mới này có thay thế .NET 6.0.18 hoặc .NET 7.0.7 không?

Có. Như một phần của bản cập nhật này, chúng tôi cũng sẽ phát hành .NET 6.0.19 và .NET 7.0.8, cả hai đều có thể tải xuống từ https://get.dot.net/. Các bản phát hành này nhằm thay thế .NET 6.0.18 và .NET 7.0.7, được phát hành vào ngày 13 tháng 6 năm 2023.

Sự khác biệt duy nhất giữa .NET 6.0.19 / 7.0.8 và .NET 6.0.18 / 7.0.7 là bản sửa lỗi về tính tương thích được đề cập ở trên. .NET 6.0.19 / 7.0.8 không chứa bất kỳ bản sửa lỗi bảo mật bổ sung nào ngoài các bản sửa lỗi đã được phát hành trong .NET 6.0.18 / 7.0.7.

Thông tin về bảo vệ và bảo mật