我正在尝试设置我的Padarn站点以支持SSL,但在部署到我的WinCE设备时收到错误。错误说明:
此设备没有 必要的CE图像组件 支持SSL。
我的设备供应商(Comfile)向我指出微软的文章“SSL Support Registry Settings”。
我按照MS文章中的步骤操作,但每次尝试创建“IsEnabled”DWORD值时,注册表(PHM注册表编辑器v.0.1)都会崩溃,并显示错误消息:
应用程序遇到了严重的问题 错误,必须关闭
抛开我遇到的问题创建了SSL注册表项,我忍不住质疑我是否应该在HTTPD注册表配置单元中创建SSL注册表项。毕竟,Padarn不依赖HTTPD - 是吗?我在我的设备上禁用了HTTPD服务器,因此我认为Padarn不需要它,因此,我认为向HTTPD注册表配置单元添加任何类型的SSL都是浪费时间。但我不知道。
Padarn的SSL支持是否依赖于设备上的任何内容?如果是这样,你能告诉我这些要求是什么吗?或者,Padarn是否足以支持SSL?
顺便说一下,我确实更新了我的.config文件以获得SSL支持。此外,我创建了一个自签名证书,并将其导出到我的设备中.config文件中指定的位置。
这是我的.config文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="WebServer"
type="OpenNETCF.Web.Configuration.ServerConfigurationHandler, OpenNETCF.Web"/>
<section name="httpRuntime"
type="OpenNETCF.Web.Configuration.HttpRuntimeConfigurationHandler, OpenNETCF.Web"/>
</configSections>
<WebServer UseSsl="true"
CertificateName="\PadarnServer\certificate\sslcert.pfx"
CertificatePassword="p4d4rn"
DefaultPort="443"
MaxConnections="20"
DocumentRoot="\Inetpub\"
Logging="false">
<DefaultDocuments>
<Document>default.aspx</Document>
</DefaultDocuments>
<VirtualDirectories />
</WebServer>
<httpRuntime maxRequestLength="4096" requestLengthDiskThreshold="256"/>
</configuration>
答案 0 :(得分:1)
如果您查看Padarn Developer's Guide,特别是第18页,您会看到:
如果您打算使用Padarn的SSL功能,则必须在构建Windows CE映像期间设置以下SYSGEN。
SYSGEN_AUTH
SYSGEN_AUTH_SCHANNEL
SYSGEN_CERTS
SYSGEN_CERTS_PFX
SYSGEN_CREDMAN
SYSGEN_CRYPTMSG
SYSGEN_CRYPTO
这些是必须存在的加密组件,以便OpenNETCF SSL实现起作用。
您的配置看起来正确,但Padarn在此之前失败了 - 基本上它看到您启用了SSL并尝试创建一个安全的套接字来监听。它在那时失败并引发你所看到的错误。
您在质疑OEM查看HTTPD注册表项的方向时是正确的。 Padarn不使用内置的HTTPD服务器(因为,IMO,它很糟糕)或与之相关的任何东西。它是一个纯粹的独立ASP.NET服务器。