views:

126

answers:

1

I'm using the Windows HTTP API to process web service requests in C++ (not .NET) and everything works just fine for HTTP requests. When I change the URLs I'm expecting with HttpAddUrl to https://example.com:443/foo/bar my tests from Internet Explorer no longer connect. My code does not get called at all and the calls to HttpReceiveHttpRequest don't complete when an HTTPS request comes in.

I created a certificate authority for myself and it is visible inside IE but I can't figure out what to do next.

What do I need to configure to make HTTP.SYS call my code when an HTTPS request comes in?

A: 

You'll need to install the SSL cert in the machine store (mmc.exe, add Certificates snap-in, manage the Computer account, import the cert). Then have a go with httpconfig- it's a GUI version of httpcfg/netsh http that's much easier. I have this tool on every server I maintain that has SSL certs. Once that's configured, your SSL server registration should route correctly.

nitzmahone
Tried that. The cert shows up in mmc and IE as a trusted authority.
jmucchiello
Have you actually issued yourself a cert with your CA? Also, make sure you're managing the "Computer Account" store, not your user store. If there isn't a cert listed under the "Personal" folder (with a private key listed when you double-click it) you're doing something wrong.
nitzmahone
Once you have your cert, use httpconfig to hook it up on an IP/path pair.
nitzmahone