问题描述
我有一个Web服务,需要通过https访问。我们有一个运行wince 6.0的workbout pro 4。在开发应用程序时,我们已经通过http对其进行了测试。没有任何问题。当我们上线并需要访问基于https的服务器时,我们收到了VS 2008智能设备项目下主题字段中指出的错误。在设备上,我们收到错误消息无法显示...。我们已尝试导入global si颁发的标准证书。我们仍然无法成功访问Web服务。我们可以在手机,平板电脑,个人电脑上访问Web服务,但不能使用Pro 4 :)。如果有人可以与他分享基于https的Web服务访问的经验,或者可以指导我们解决我们的问题,那将非常好。
I have a web service which i need to access through https. We have a workbout pro 4 with win ce 6.0 running on it. When we were developing our app we had tested it through http. wihtout any problem. When we went live and needed access to https based server we have received the error stated on subject field under VS 2008 Smart Device Project. On the device we receive an error "could not display..." . We have tried to import the standard certificate issued by global si. We still have no success accessing the web service. We can acces the web service on phone, tablet, pc but not with Pro 4:). It would be kind if anyone can share his/her experience with https based web service access or can guide us to over come our problem.
推荐答案
未完全在CE上实现安全连接。与证书管理有关。这是我正在为我的项目考虑的内容,它为问题提供了更多信息。
Secure connection is not implemented on CE fully. Something to do with cert management. Here is what i am considering for my project and it gives a little more info what the issue is. http://labs.rebex.net/HTTPS
以下是网站上的一些引号,以防其瘫痪。
Here is some quotes from the site in case its down or something.
.NET CF的HttpWebRequest已过时。它不支持TLS 1.2或
1.1,不支持服务器名称标识(SNI),并且不支持X509证书中的SHA-2。它还存在一些与
身份验证相关的错误,而没有已知的解决方法。这使得
在越来越多的情况下无法使用,并且Microsoft不会
修复此问题,因为它不再关心这些旧平台。
.NET CF's HttpWebRequest is outdated. It does not support TLS 1.2 or 1.1, it doesn't support Server Name Identification (SNI), and it does not support SHA-2 in X509 certificates. It also suffers from several authentication-related bugs with no known workaround. This makes it unusable in a growing number of scenarios, and Microsoft will never fix this because it no longer cares about these legacy platforms.
幸运的是,现在可以使用Rebex HTTPS库的
a beta版本解决这些缺点。它具有.NET Compact Framework的HttpWebRequest
替换对象,该对象插入到
现有的.NET CF WebRequest API中,并提供HTTP / HTTPS提供程序默认缺少的功能。最重要的是,它增加了对TLS
1.2,TLS 1.1,SNI和SHA-2的支持,甚至可以在基于Windows CE 5.0的旧设备上使用,并且可以轻松地将TLS 1.2支持添加到现有的
SOAP Web服务客户端。
Fortunately, it's now possible to work around these shortcomings using a beta version of Rebex HTTPS library. It features a HttpWebRequest replacement object for .NET Compact Framework that plugs into the existing .NET CF WebRequest API and provides the features the default HTTP/HTTPS provider lacks. Most importantly, it adds support for TLS 1.2, TLS 1.1, SNI and SHA-2, it works even on old devices based on Windows CE 5.0 and it makes it simple to add TLS 1.2 support to existing SOAP web service clients.
这篇关于wince 6智能设备无法为SSL / TLS错误建立安全通道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!