Nguon: Microsoft Learn · .NET 8.0

Thay đổi đột phá (Breaking change): Xuất chứng chỉ dev không còn tạo thư mục tự động

Nguồn: Dev cert export no longer creates folder

Khi bạn xuất chứng chỉ phát triển (development certificate) của ASP.NET Core (được dùng để bật HTTPS trong quá trình phát triển cục bộ), nó sẽ không còn tự động tạo thư mục đích nếu thư mục đó chưa tồn tại.

Thay đổi này xuất hiện lần đầu trong .NET 8.0.10 và .NET 9 RC 1.

Phiên bản giới thiệu

.NET 9 RC 1

Hành vi cũ

Trước đây, nếu thư mục đích không tồn tại khi chạy lệnh dotnet dev-certs, nó sẽ được tạo tự động (với quyền hạn kế thừa từ thư mục chứa nó). Ví dụ: C:\NonExistent\ sẽ được tạo khi chạy lệnh sau:

dotnetcli
dotnet dev-certs https -ep C:\NonExistent\cert.pfx

Hành vi mới

Bắt đầu từ .NET 9, nếu thư mục đích không tồn tại, quá trình xuất sẽ thất bại với thông báo như:

There was an error exporting the HTTPS developer certificate to a file.

Loại thay đổi đột phá

Đây là thay đổi hành vi (behavioral change).

Lý do thay đổi

Chứng chỉ phát triển được xuất cùng với khóa riêng tư (private key), vì vậy quyền truy cập trái phép có thể gây ra vấn đề. Tuy nhiên, đôi khi cần phải cho phép nhiều tài khoản đọc chứng chỉ, ví dụ nếu tiến trình sử dụng nó không chạy dưới tư cách người dùng hiện tại. Thay vì cố gắng xác định (và thiết lập an toàn) quyền hạn cho thư mục đích, dotnet dev-certs yêu cầu thư mục đó phải tồn tại trước.

Hành động được khuyến nghị

Tạo thư mục đích (với quyền hạn phù hợp) trước khi gọi lệnh dotnet dev-certs.

API bị ảnh hưởng

Không có.