Windows CE上的SSL Padarn要求

时间:2011-02-26 23:36:31

标签: ssl compact-framework windows-ce apache padarn

我正在尝试设置我的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>

1 个答案:

答案 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服务器。