真的不可能使用传输安全性进行 netTcpBinding 和 None 身份验证吗?我真的不想为我的服务使用任何证书,我在下面使用了我们的服务配置,当我启动我的服务主机时,我收到下面提到的应用程序错误(要求证书,我什至没有提到应用程序中任何地方的证书)。但是,在我将服务凭据放入行为后,服务开始运行。谁能告诉我这是什么原因?
错误:“未提供服务证书。在 ServiceCredentials 中指定服务证书。”
<service name="ConsoleApplication1.WCFService1" behaviorConfiguration="" >
<endpoint address="net.tcp://localhost:853/WCFService1" binding="netTcpBinding"
bindingConfiguration="SecurityCheckBinding" name="TCPEndpoint" contract="ConsoleApplication1.IService1" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:853/WCFService1" />
</baseAddresses>
</host>
</service>
<bindings>
<netTcpBinding>
<binding name="SecurityCheckBinding">
<security mode="Transport">
<transport clientCredentialType="None" ></transport>
</security>
</binding>
</netTcpBinding>
</bindings>
这种情况我遇到了上述错误,但是当我刚刚指定受信任的证书参数时,它开始运行。
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehaviour">
<serviceCredentials>
<serviceCertificate findValue="MyTestCA" x509FindType="FindByIssuerName" storeLocation="LocalMachine" storeName="My" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>