WCF 클라이언트가 보안 인증서가 필요한 서버를 검색하는 방법은 무엇입니까? 탐지는 런타임에 이루어져야합니다.WCF 클라이언트가 보안 인증서가 필요한 서버를 검색하는 방법은 무엇입니까?
1
A
답변
1
내가이 문제를 해결하기 위해 제일 먼저 생각해야 할 것은 해당 서버에 연결하여 메서드 또는 이와 유사한 메서드를 호출하는 것입니다. try-catch 블록에 서버 호출을 넣고 런타임에 메시지를 읽습니다.
예를 들어 보안 인증서가있는 서버에 연결되어있는 내 응용 프로그램에서 클라이언트의 인증서 부분을 삭제하려고 시도했습니다. 이 예외가 잡힌 경우
The client certificate is not provided. Specify a client certificate in ClientCredentials.
이 문제에 대한 예외 메시지가 더있을 수 있습니다. 또한, 그것이 최선의 방법인지 나는 모른다. 그러나 그것은 효과가있다.
0
위로 (디자인 타임) 앞을 알아야합니다. 런타임시 이것을 알 수있는 확실한 방법은 없습니다 (오류 메시지에서 추측 할 수 있지만 이는 좋은 생각이 아닙니다.) 런타임에만이 값을 결정해야하는 경우 클라이언트와 서버는 통신하기 위해 자체 프로토콜에 동의해야합니다 이 작업 (예 : 작업 IsCertRequired).