2014-05-13 8 views
0

WS-Security 사양을 사용하여 Java 서버의 wcf 클라이언트를 작성하려고합니다. C#에서 프로그래밍 방식으로 클라이언트를 구현할 수있는 방법이 있나요? (타임 스탬프, 사용자 이름, 암호화 및 서명)타임 스탬프, 사용자 이름, 암호화 및 서명을 사용하여 ws-security를 ​​사용하여 wcf 클라이언트를 구현하는 것이 좋습니까?

+1

서비스가 사용하는 비누는 무엇입니까? Soap 1.1의 경우 Custombinding을 사용해야합니다. 1.2이면 WsHttpBinding을 사용할 수 있습니다. BTW, 왜 코드가 아닌 구성? –

+0

비누 1.1을 사용해야합니다. 실제로 구성 또는 코딩하는 방법을 모르겠습니다. 가능한 경우 구성을 통해 예제를 제공 할 수 있습니까? – MehmetKasalak

답변

0

귀하의 게시물에 해당 설정이 무엇인지 알려주는 것이 어렵습니다. 여기에 ws-security를 ​​사용하는 자바 웹 서비스를 사용하기위한 설정이있다. 내 경우에는 클라이언트 인증서가 제공되었고 서비스의 경우 서비스의 사이트에서 인증서를 내보내고 설치했습니다. 확실한 몇 가지 사항은 this site 을 참조하십시오. 다음에서 xx를 인증서 인 지문으로 대체하십시오. 진행 상황을 알려주십시오.

<system.serviceModel> 
    <bindings> 

     <customBinding> 

<binding name="MyBindingName" >   
      <textMessageEncoding messageVersion="Soap11"/> 
      <security authenticationMode="MutualCertificate" enableUnsecuredResponse="true" allowSerializedSigningTokenOnReply="true" 
        messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" 
        includeTimestamp="true"> 
      </security> 
      <httpsTransport /> 
     </binding>   
     </customBinding> 


    </bindings> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="ClientCertificateBehavior"> 
      <clientCredentials> 
      <clientCertificate findValue="xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx" 
           storeLocation="CurrentUser" storeName="My" 
           x509FindType="FindByThumbprint" /> 

      <serviceCertificate> 
       <defaultCertificate findValue="xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx" 
            storeLocation="CurrentUser" storeName="My" 
            x509FindType="FindByThumbprint"/> 
       <authentication /> 
      </serviceCertificate> 
      </clientCredentials> 

     </behavior> 

     </endpointBehaviors> 

    </behaviors> 
    <client> 
     <endpoint address="https://YOURSERVICE_ADDRESS" 
     binding="customBinding" bindingConfiguration="MyBindingName" 
     contract="srvContract" name="srvContract" behaviorConfiguration="ClientCertificateBehavior"> 
     </endpoint> 

    </client> 
    </system.serviceModel>