2012-04-30 3 views
2

현재 Windows 인증 (C#으로 작성된 프로그램)과 함께 netTcpBinding을 사용하고 있습니다. 나는 도메인 인증 (도메인에 없을 새로운 클라이언트 추가)에서 벗어나 사용자 이름/패스 인증으로 인증서 보안을 설정하려고합니다. 지금까지 읽은 것부터 클라이언트 인증서가 필요하지는 않습니다 (좋은데 모든 클라이언트에 서비스 인증서를 설치할 수 없습니다). 저의 생각은 신뢰할 수있는 CA의 인증서가있는 보안 웹 사이트로 이동하는 것과 같은 선상에 있습니다. 그것은 신뢰할 수있는 것으로 인식하고 질문을하거나 번거 로움을주지 않으며 단지 인증서 만받습니다!서비스 전용 WCF 인증서 인증

지금까지 서비스 인증서를 설정했는데 (GoDaddy의 와일드 카드 인증서가 있음), 클라이언트를 필요로하지 않는 app.config 파일의 변경 사항을 파악할 수 없습니다. 증명서.

서비스의 app.config :

<serviceBehaviors> 
    <behavior name=""> 
    <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" /> 
    <serviceDebug includeExceptionDetailInFaults="false" /> 
    <serviceCredentials> 
     <clientCertificate> 
     <authentication certificateValidationMode="None" revocationMode="NoCheck" /> 
     </clientCertificate> 
     <serviceCertificate findValue="*.xxxxxx.com" 
          storeLocation="LocalMachine" 
          storeName="TrustedPublisher" 
          x509FindType="FindBySubjectName" /> 
    </serviceCredentials> 
    </behavior> 
</serviceBehaviors> 

클라이언트의 app.config :

 <security mode="Transport"> 
     <transport clientCredentialType="Certificate" protectionLevel="EncryptAndSign" /> 
     <message clientCredentialType="UserName" /> 
     </security> 

나는 사용자 이름 부분에 대한 사용자 정의 유효성 검사기를 설정해야합니다 알고 있어요,하지만 난 그림 한 번에 한 단계 씩. 감사합니다. 자세한 내용이 필요한 경우 알려 주시기 바랍니다.

답변

3

clientCredentialType을 None으로 변경하십시오. 또한 서버 설정에서이 작업을 수행하십시오.

+1

감사합니다. 시도해보고 어떻게 작동하는지 알려 드리겠습니다. – jmgardn2

+1

완벽하게 일했습니다! 도와 줘서 고마워! – jmgardn2