Configure a Port with an SSL Certificate w\o using Httpcfg

3k Views Asked by At

When one develops a self-hosted WCF http server, one of the steps needed is to bind an SSL certificate to a port number: httpcfg set ssl -i 0.0.0.0:8012 -h 0000000000003ed9cd0c315bbb6dc1c08da5e6 as stated in: http://msdn.microsoft.com/en-us/library/ms733791.aspx

However, It is hardly expected that in my deployment environment one would be able to do it. (I don't even know if the httpcfg.exe is redistributable) Moreover, if the user changed the port after he installed the product then he will need to run the command again....

how can this step be automated pro grammatically?

preferably in C# but if it can only be done in C++ (direct access to the Http Server API) then I will manage :)

3

There are 3 best solutions below

0
On

Таке а look on https://github.com/segor/SslCertBinding.Net It also has nuget available

 Install-Package SslCertBinding.Net

and does what you need perfectly. Thanks to the author.

0
On

Have a look here: an open source C# UI for configuring HTTP.SYS that directly drives the API. This should get you an idea of the code necessary for configuring the certs.

0
On

For those tuning in a couple of years later:

This article from Mike Bouck's RAM has a clean C# wrapper for the http.sys api.