Padarn Requirements for SSL on Windows CE

926 views Asked by At

I am attempting to setup my Padarn site to support SSL, but am receiving an error when I deploy to my WinCE device. The error states:

This device does not have the necessary CE image components to support SSL.

The vendor of my device (Comfile) pointed me to Microsoft's article "SSL Support Registry Settings".

I followed the steps in the MS article, but every time I attempted to create the "IsEnabled" DWORD value, the registry (PHM Registry Editor v.0.1) would crash with an error stating:

Application encountered a serious error and must be shut down

Putting aside the problem I was running into with created the SSL registry keys, I couldn't help but question if I should even be bothering with creating an SSL registry key within the HTTPD registry hive. After all, Padarn doesn't rely on HTTPD - does it? I disabled the HTTPD server on my device, so I assume that Padarn has no need for it and, therefore, I assume that adding any kind of SSL stuff to the HTTPD registry hive is a waste of time. I don't know, though.

Is Padarn's SSL support dependent on anything from the device? If so, can you tell me what those requirements are? Or, is Padarn self sufficient with supporting SSL?

By the way, I did update my .config file for SSL support. Also, I created a Self Signed Certificate and exported it to my device in the location specified in the .config file.

Here's my .config file:

<?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

There are 1 answers

1
ctacke On BEST ANSWER

If you take a look at the Padarn Developer's Guide, specifically on Page 18, you'll see this:

If you intend to use Padarn’s SSL capabilities, the following SYSGENs must have also been set during the build of your Windows CE image.

SYSGEN_AUTH
SYSGEN_AUTH_SCHANNEL
SYSGEN_CERTS
SYSGEN_CERTS_PFX
SYSGEN_CREDMAN
SYSGEN_CRYPTMSG
SYSGEN_CRYPTO

These are the crypto components that must be there for the OpenNETCF SSL implementation to work.

Your config looks right, but Padarn is failing well before that point - basically it's seeing that you have SSL enabled and trying to create a secure socket to listen on. It fails at that point and raises the error you're seeing.

You are correct in questioning the OEM's direction to look at the HTTPD registry keys. Padarn doesn't use the built-in HTTPD server (because, IMO, it sucks) or anything related to it. It's a purely stand-alone ASP.NET server.