2017-02-16 12 views
0

웹 서비스를 사용하기 위해 CustomBinding을 사용하는 클라이언트가 있습니다. 내 요청을 보내기 전에 서비스 및 클라이언트 인증서를 설정하고 있지만이 방법을 사용하려면 서비스 인증서를 알고 클라이언트 컴퓨터에 설치해야합니다. 현재의 인증서를 제공하도록 서비스를 허용하여 변경 될 때마다 업데이트 할 필요가 없습니다.CustomBinding을 사용할 때 WCF에서 NegotiateServiceCredential을 활성화하는 방법

보안 속성을 통해 NegotiateServiceCredential을 True로 설정하여 WSHttpBinding을 사용할 때이 작업을 수행 할 수 있음을 알고 있지만 CustomBinding을 사용하고 있으므로 해당 속성이 없기 때문에 NegotiateServiceCredential을 True로 설정 해야할지 잘 모릅니다.

아무도 도와 줄 수 있습니까?

감사합니다.

답변

0

HTTP를 통해 작동하고 MessageSecurityOverHttpElement 요소가있는 CustomBinding을 만들어야합니다. 이 기능을 활성화/비활성화 할 수있는 NegotiateServiceCredential 속성을 찾을 수 있습니다.

이 링크를 사용하면 Custom Binding with a SecurityBindingElement을 작성해야합니다. MessageSecurityOverHttpElement를 추가 할 때까지 거기에서 작업하십시오.

+0

감사합니다. Jorge. NegotiateServiceCredential에 액세스 할 수있는 보안 속성이 포함 된 유일한 바인딩 클래스이기 때문에 "WSDualHttpBinding"을 사용해야합니다. 그러나 그것이 작동하도록 내 customBinding에 추가해야하는 바인딩 요소에 대한 정보를 찾을 수 없습니다. 지금은 모든 클라이언트에서 서비스 인증서를 계속 업데이트 할 것입니다. 다시 한번 감사드립니다. –

+0

WSDualHttpBinding이 필요하고 WSHttpBinding을 사용할 수없는 이유가 있습니까? WSDualHttpBinding은 이중 콜백을위한 또 다른 채널을 여는 아주 복잡한 기능입니다. 문제를 해결할 다른 방법을 찾지 못하면 WSDualHttpBinding을 벗어나야합니다. –

+0

MessageSecurityOverHttp 클래스에 대한 정보에서 wsDualHttpBinding과 함께 사용된다고했기 때문에 ' 아무것도 생각하지 마라. 어쨌든 우리는 differente 접근 방식을 선택하고 하나의 저장소에 원격 서버 인증서를 설치하는 도구를 구축했으며 모든 클라이언트는 웹 서비스를 사용하고 게시 될 때 해당 인증서를 설치합니다. 당신의 도움을 주셔서 감사합니다. –