내 질문은 this 질문과 유사합니다.오프라인 해지 모드
로컬 CRL 만 사용하여 해지 목록을 확인하려고합니다.
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;
그러나 나는 다음과 같은 오류를 얻을 : 다음 매개 변수를 내가 X509Chain.Build()를 사용하고
해지 기능 해지를 확인할 수없는 RevocationStatusUnknown =>
- 인증서.
- OfflineRevocation => 해지 서버가 오프라인에서 이므로 해지 기능이 인증서의 해지를 확인할 수 없습니다.
이상한 것은 문제는를 해결, 나는 온라인 해지 목록을 확인하려고하면 (결과로 CRL이 업데이트됩니다)이다. 캐시에 어떤 것이 있으면 더 이상 문제를 재현 할 수 없습니다.
오류 메시지가 잘못되었을 것으로 생각하고 실제로 발생하는 것은 캐시가 비어있을 때이 메시지가 나타나는 몇 가지 예외가 있다는 것입니다. 또 다른 옵션은 어쩌면 캐시가 언젠가 업데이트되었는지 여부를 알려주는 플래그가 있고 업데이트 된 적이없는 경우 외부 서버에서 정보를 얻으려는 것입니다.
이 문제?
또한 같은 동작을보고 있어요 .서버가 오프라인 상태라고 말하면서 해지를 확인할 수 없다고 말합니다. 이것은 자체 서명 인증서에 대해서는 발생하지 않는 것 같습니다. – Mark