2014-07-24 3 views
2

전송 모드와 함께 WCF 서비스를 사용하고 있습니다. 인증서를 사용하여이 서비스의 보안을 유지해야합니다. 내가 아래 링크에 나와있는 단계를 수행하고 내가 지금 직면하고 내 로컬 http://www.codeproject.com/Articles/36683/simple-steps-to-enable-X-certificates-on-WCF전송 모드에 대한 인증서를 사용하여 WCF 보안

이슈에서 작업을 가지고하는 것은 다음과 같습니다 -

위의 단계를 언급에서
  1. , 내가 로컬로 실행되는 서비스를했다 로컬로 실행되는 서비스를 호출하는 내 클라이언트 응용 프로그램뿐입니다. 이제 QA 배포를 위해 한 서버에서 서비스를 호스팅하고 다른 서버에서 클라이언트 응용 프로그램을 호스팅합니다.
  2. makecert를 사용하여 인증서를 만들려면이 두 서버에서 Visual Studio Commant 프롬프트를 사용하지 마십시오.
  3. 내 서비스는 https입니다.
  4. 제 제작자 인증서를 얻기 위해 제 3자를 사용할 것입니다. 그러나 이제는 제 QA 환경에서이 인증서를 얻는 방법을 알 수 없습니다.

루트 인증 기관으로 작동하도록 인증서를 작성하고 두 서버에 모두 설치하려고했습니다. 이 접근법에서 나는 또한이 루트 권한하에 클라이언트와 서버 인증서를 어떻게 만들지에 대해서 고민하고 있습니다. 이 작업을 수행하는 방법을 알려주세요.

미리 감사드립니다.

답변

0

마지막으로 작동 시켰습니다. 내 로컬에서 makecert를 사용하여 인증서를 작성한 다음 내 품질 보증 환경에서 프로덕션 환경에 신뢰할 수있는 타사의 인증서를 사용하여 인증서를 가져와야했습니다. 내 요구 사항은 내 서비스의 보안을 설정하고 권한이없는 클라이언트가이를 사용하지 못하도록하는 것이 었습니다.

내 서비스 web-config. 행동의 바인딩

<bindings> 
    <basicHttpBinding> 
    <binding name="basicHttpEndpointBinding"> 
     <security mode="TransportWithMessageCredential"> 
     <transport clientCredentialType="None" /> 
     <message clientCredentialType="Certificate" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings 

변경에

변경.

<serviceCredentials> 
    <clientCertificate> 
     <authentication certificateValidationMode="ChainTrust" revocationMode="NoCheck" /> 
     </clientCertificate>   
    </serviceCredentials> 

내 클라이언트 web-config.

변경 바인딩

 <binding name=""> 
     <security mode="TransportWithMessageCredential"> 
      <transport clientCredentialType="None" /> 
      <message clientCredentialType="Certificate" /> 
     </security> 
     </binding> 

에서 엔드 포인트

behaviorConfiguration = "CustomBehavior"

이 문제를 부착 행동을

<behaviors> 
    <endpointBehaviors> 
    <behavior name="CustomBehavior"> 
     <clientCredentials> 
     <clientCertificate findValue="RootCATest" 
          x509FindType="FindByIssuerName" 
          storeLocation="LocalMachine" 
          storeName="My"/> 
     </clientCredentials> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 

추가