wcf 서비스를 만들었으며이를 클라이언트 응용 프로그램에서 성공적으로 참조 할 수있었습니다. 하지만 X509 인증서를 구현할 때 문제가 발생합니다.WCF 프록시 오류 X509 인증서 사용
1) x509 인증서를 사용하도록 서비스를 변경하면 mex 엔드 포인트가 브라우저에 표시되지 않으므로 프록시를 만들 수 없습니다. 따라서이 경우 서비스가 보호되고 mex 엔드 포인트가 노출되지 않은 상태에서 클라이언트 앱의 서비스를 어떻게 참조해야합니까?
2) 메시지 및 전송 보안을 인증서로 사용할 수 있습니까? basicHttpBinding에 대해이 시나리오가 작동합니까? basicHttpBinding은 인증서를 통해 메시지 보안을 가질 수 없다고 들었습니다.
이와 관련하여 도움을 주시면 대단히 감사하겠습니다.
다음은 서비스의 내 서비스 모델입니다.
<system.serviceModel>
<client>
<endpoint behaviorConfiguration=""
binding="basicHttpBinding"
bindingConfiguration="WCFServiceX509Binding"
contract="WCFService.Contract.Service.IWCFServiceContract"
name="WCFServiceClientEndPoint" />
</client>
<bindings>
<basicHttpBinding>
<binding name="WCFServiceX509Binding" maxBufferSize="6553600"
maxBufferPoolSize="52428800" maxReceivedMessageSize="6553600">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Certificate" />
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehavior"
name="WCFService.Model.WCFServiceModel">
<endpoint
address=""
binding="basicHttpBinding"
bindingConfiguration="WCFServiceX509Binding"
name="WCFServiceBasicHttpEndPoint"
contract="WCFService.Contract.Service.IWCFServiceContract">
<identity>
<certificateReference findValue="WCFUADOCServer" />
</identity>
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="ClientCertificateBehavior">
<clientCredentials>
<clientCertificate findValue="WCFUADOCServer"
x509FindType="FindBySubjectName"
storeLocation="LocalMachine"
storeName="TrustedPeople" />
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
정말 고마워요, 찬드.
와우는 빨랐습니다 ... 굉장한 참고 자료. 그렇습니다. 보안 수준은 매우 높습니다. 기본적으로 이것은 매우 민감한 정보를 전달하므로 전송 및 메시지 보안을 모두 가져야했습니다. – Chandanan
나는 당신에게 제안 된 모든 것을하려고 노력할 것이고, 다시 당신에게 돌아갈 것이다. 답장을 보내 주셔서 감사합니다. 안부, 찬드. – Chandanan
"상위 수준 용어"에 대한 추가 링크를 게시하는 것을 잊어 버렸습니다. 나는 내 대답을 수정했다. –