Câu hỏi của tôi tương tự như câu hỏi this.Chế độ thu hồi ngoại tuyến
Tôi đang cố kiểm tra danh sách thu hồi chỉ bằng CRL cục bộ.
Tôi đang sử dụng X509Chain.Build() với các thông số sau:
var chainMachine = new X509Chain(true);
chainMachine.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
chainMachine.ChainPolicy.UrlRetrievalTimeout = TimeSpan.FromSeconds(30);
chainMachine.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;
chainMachine.ChainPolicy.VerificationTime = DateTime.Now;
chainMachine.ChainPolicy.RevocationMode = X509RevocationMode.Offline;
Nhưng tôi nhận được các lỗi sau đây:
- RevocationStatusUnknown => Chức năng thu hồi là không thể kiểm tra thu hồi cho chứng chỉ.
- OfflineRevocation => Chức năng Thu hồi không thể kiểm tra việc thu hồi chứng chỉ vì máy chủ thu hồi là ngoại tuyến.
Điều kỳ lạ là khi tôi cố gắng để kiểm tra danh sách thu hồi trực tuyến (kết quả là CRL sẽ được cập nhật), vấn đề này được giải quyết. do đó, có vẻ như một khi có bất cứ điều gì trong bộ nhớ cache vấn đề không thể được sao chép nữa.
Tôi nghĩ rằng có thể thông báo lỗi không chính xác và điều thực sự xảy ra là khi bộ nhớ cache trống, có một số ngoại lệ khiến cho thông báo này bật lên. một tùy chọn khác là có thể có một số cờ cho biết liệu bộ nhớ cache đã được cập nhật một thời gian chưa và đã cập nhật thông tin từ máy chủ bên ngoài chưa. vấn đề này?
Tôi cũng nhìn thấy những hành vi tương tự .Nó không cho tôi biết máy chủ đang ngoại tuyến, nó chỉ nói rằng nó không thể kiểm tra việc thu hồi. Điều này dường như không xảy ra đối với chứng chỉ tự ký. – Mark