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>
If you take a look at the Padarn Developer's Guide, specifically on Page 18, you'll see this:
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.