我试图移植现有的WCF客户端应用程序在Mono下的Linux上运行。现在我正在测试所有的东西,找出在单声道上有什么作用,哪些没有。WCF单声道 - 与SSL的BasicHttpBinding
客户端通过basicHttpBinding进行超级简单调用。它工作的很好,直到我启用SSL(即在绑定中指定BasicHttpSecurityMode.Transport)。
- 运行在Windows .NET中,它的伟大工程
- 运行在Mono在Ubuntu 9.10 /单声道2.6我得到以下错误:
Exception in async operation: System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
我读过Mono security FAQ;但是服务器上的SSL证书来自Equifax安全证书颁发机构颁发的根CA(购买的证书)。我在Ubuntu安装上针对.svc URL运行了TlsTest工具,并且没有问题/错误。另外,我可以在Firefox中使用罚款(没有安全警告)。
我错过了什么?
感谢您的回答! 我使用简单的WebRequest进行测试,结果相同。不过,我认为我现在看到了这个问题 - 我已经将Mono 2.6与Ubuntu 9.10附带的Mono 2.4软件包并排安装。我不得不这样做,因为我的WCF HTTPS调用总是会在2.4上失败(我从HttpsTransportBindingElement获得一个NotImplementedException)。 我做了一个简单的测试应用程序,使一个简单的WebRequest。当我在2.6中运行时,它会因无效证书失败。当我在2.4中运行它时,它工作正常!所以显然我的证书是不可见的单声道2.6 ..... – TheNextman 2010-04-19 14:20:02