2012-04-23 76 views
1

我只有xml配置文件和.exe(所以不是完整的解决方案)的WCF服务。我可以通过https使现有终端安全吗? 如果是这样,我该如何做到这一点,我怎样才能连接到我的客户端,将在网络中的另一台电脑上?只有XML配置文件的WCF服务上的SSL端点

这将是我服务的XML配置: 我结合:

<wsHttpBinding> 
    <binding 
     name="HighQuotaWSHttpBinding" 
     receiveTimeout="00:10:00" 
     sendTimeout="00:10:00" 
     bypassProxyOnLocal="true" 
     maxBufferPoolSize="2147483647" 
     useDefaultWebProxy="false" 
     maxReceivedMessageSize="2147483647"> 
     <security mode="Transport"> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 

我的终点:

<service 
    behaviorConfiguration="WebDataServiceBehaviour" 
    name="Humiq.Integral.WebDataService.Impl.ServiceLayer.WcfLibrary.WebDataService"> 
    <endpoint 
     address="WebDataService" 
     binding="wsHttpBinding" bindingConfiguration="HighQuotaWSHttpBinding" 
     contract="Humiq.Integral.WebDataService.Intf.ServiceLayer.IWebDataService" 
     name="WebDataServiceHttpBinding"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
    <endpoint 
     address="mex" 
     binding="mexHttpsBinding" 
     contract="IMetadataExchange" 
     name="mexManagement" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://mylocalip:9650/" /> 
     <add baseAddress="https://mylocalip:9651/" /> 
     </baseAddresses> 
    </host> 
    </service> 

行为:

<behaviors> 
    <serviceBehaviors> 
    <!-- Behavior for WebserviceData interface --> 
    <behavior name="WebDataServiceBehaviour"> 
     <!-- Set throttling of (concurrent) cals --> 
     <serviceThrottling 
     maxConcurrentCalls="100" 
     maxConcurrentSessions="100" 
     maxConcurrentInstances="100"/> 
     <!-- To avoid disclosing metadata information, 
     set the value below to false and remove the metadata endpoint above before deployment --> 
     <serviceMetadata httpsGetEnabled="True"/> 
     <!-- To receive exception details in faults for debugging purposes, 
     set the value below to true. Set to false before deployment 
     to avoid disclosing exception information --> 
     <serviceDebug includeExceptionDetailInFaults="True" /> 
     <dataContractSerializer maxItemsInObjectGraph="2147483646"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

这是我的客户:

<bindings> 
     <wsHttpBinding> 
      <binding name="WebDataServiceHttpBinding" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
       bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
       messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
       allowCookies="false"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <reliableSession ordered="true" inactivityTimeout="00:10:00" 
        enabled="false" /> 
       <security mode="Transport"> 
        <transport clientCredentialType="Basic" proxyCredentialType="None" 
         realm="" /> 
        <message clientCredentialType="Windows" negotiateServiceCredential="true" /> 
       </security> 
      </binding> 
     </wsHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="https://mylocalip:9651/WebDataService" binding="wsHttpBinding" 
      bindingConfiguration="WebDataServiceHttpBinding" contract="wcf1.IWebDataService" 
      name="WebDataServiceHttpBinding"> 
      <identity> 
       <dns value="localhost" /> 
      </identity> 
     </endpoint> 
    </client> 
+0

的App.config或Web.Config中?如何托管? – 2012-04-23 11:44:46

+0

对不起,这是一个XML配置文件。它位于同一网络上的一台PC上。 – user1350954 2012-04-23 11:53:06

+0

这不能回答我的任何问题。 – 2012-04-23 11:54:56

回答

0

您需要定义在Windows上使用ssl的端口。

它使用netsh命令来完成,你可以阅读它的帮助:

netsh http add sslcert ipport=0.0.0.0:8732 certhash=4745537760840034c3dea27f940a269b7d470114 appid={00112233-4455-6677-8899-AABBCCDDEEFF} 
+0

已经完成了这个 – user1350954 2012-04-24 06:55:42

+0

现在有什么问题吗?你能启动服务吗? – 2012-04-24 10:32:04

+0

是的我可以启动服务控制台说客户端证书不提供 – user1350954 2012-04-24 11:04:09