2011-11-02 3 views
1

웹 서비스를 사용하는 C# 클라이언트를 작성하려고합니다. 통신은 암호화됩니다. WinXP가 보관하고있는 마법의 장소에 사이트의 인증서를 다운로드하여 설치했습니다.인증서 정책 유효성 검사 오류 디버깅 : "유효성 검사 절차에 따라 원격 인증서가 유효하지 않습니다."

클라이언트를 실행할 때 "원격 인증서가 유효성 검사 절차에 따라 유효하지 않습니다."라는 메시지와 함께 실패합니다.

certmgr.msc를 실행하면 GUI에 인증서에 잘못된 정책이 있음을 알립니다. 인증서에 유효한 날짜가 있으며 인증 경로가 정상입니다. 인증서에 도트로 삽입 된 정수 (예 : 1.2.30 ...)를 식별하는 정책이있는 인증서 정책이 있습니다.

X509Certificate2.Verify Method documentation의 코드를 사용하면 Verify 메시지가 실제로 false를 반환하는 것을 확인할 수 있습니다. 이 오류를 조회하려고에서

, 나는 Brian Komar's Windows Server 2008 PKI and Certificate Security에 대한 참조를 발견

정책 유효성 검사를. 인증서 체인 엔진을 호출하는 응용 프로그램이 인증서의 특정 응용 프로그램 정책이나 인증서 OID를 필요로하고 필요한 정책이나 OID가 CA 체인의 인증서에 포함되어 있지 않으면 인증서 체인 엔진은 인증서가 유효하지 않은 것으로 간주합니다.

특정 응용 프로그램 정책에 대한 기대치를 설정하지는 않습니다. WSE3 코드를 WCF로 이식하는 중입니다.

자세한 내용을 보려면 어떻게해야합니까? 인증서에 문제가 있습니까?

인증서가 정상이면 정책 검사를 사용하지 않도록 CryptoConfig 클래스를 구성하거나 확장해야합니까?

모든 도움을 주셨습니다.

답변

0

ServicePointManager..::.ServerCertificateValidationCallbacktrue을 반환하는 대리인으로 설정하여 유효성 검사를 항상 해제 할 수 있습니다. 이렇게하면 인증서 문제를 추적 할 수 있습니다.

0

이러한 유형의 오류를 추적하는 데 사용한 기술 중 하나는 브라우저에서 웹 서비스를 방문하는 것입니다.

예를 들어 웹 서비스가 https://server/foo.asmx 인 경우 해당 주소를 선택한 브라우저에 놓으십시오. 그러면 사람이 읽을 수있는 오류 해석이 나타날 수 있습니다.