2016-10-30 3 views
0

WCF 메시지 채널을 보호하기 위해 사용할 엔터프라이즈에서 발행 한 인증서가 있습니다. certutil 프로그램은 CRL과 델타 CRL이 모두 유효하다는 것을 알려줍니다 (status = "Verified"). (https://www.microsoft.com/en-us/download/details.aspx?id=21459)에서 샘플 WCF 프로그램을 사용하고 있습니다. 특히 MessageSecurity.sln 테스트 자체 서명 된 인증서를 엔터프라이즈 CA에서 생성 한 인증서로 바꾸면 오류가 발생합니다.WCF : 인증서 해지 목록 검사에 보안 메시지 사용

X.509 인증서 CN = localhost chain building failed. 사용 된 인증서에는 확인할 수없는 트러스트 체인이 있습니다. 인증서를 바꾸거나 certificateValidationMode를 변경하십시오. 해지 서버가 오프라인 상태이므로 해지 기능에서 해지를 확인할 수 없습니다.

메시지 기반 채널이 자체 서명 인증서 이외의 다른 채널 (즉, 유효한 CRL 배포 지점)을 사용하고있는 사람이 있습니까? 다음에 시도 할 아이디어가 있습니까?

답변

0

재미있는 사실! 클라이언트는 CRL 캐시를 유지 관리합니다. CRL 배포 지점을 올바르게 구성한 후 오류가있는 CRL 위치의 캐시가 WCF 샘플 실행을 방해했습니다. 2 일 후 마술처럼 작동하기 시작했을 때 나는 파고 들었고 그 목록이 캐시되어 있음을 알았습니다. 내가 예측하고 안정적으로 메시지TransportWithMessageCredentials 채널을 설정하는 내 엔터프라이즈 CA를 생성 된 인증서를 사용할 수 있었다이 명령을 사용한 후

certutil -urlcache crl delete 

: 당신은 수동으로 목록을 지울 수 있습니다.