2009-12-16 4 views
1

J'utilise l'API HTTP Windows pour traiter les demandes de service Web en C++ (pas .NET) et tout fonctionne très bien pour les requêtes HTTP. Lorsque je modifie les URL que j'attends avec HttpAddUrl à https://example.com:443/foo/bar mes tests d'Internet Explorer ne se connectent plus. Mon code n'est pas appelé du tout et les appels à HttpReceiveHttpRequest ne se terminent pas lorsqu'une requête HTTPS arrive.Comment utiliser HTTPS avec HttpReceiveHttpRequest()?

J'ai créé une autorité de certification pour moi-même et elle est visible dans IE mais je n'arrive pas à savoir quoi faire faire ensuite.

Que dois-je configurer pour que HTTP.SYS appelle mon code lorsqu'une requête HTTPS arrive?

Répondre

0

Vous devez installer le certificat SSL dans le magasin de l'ordinateur (mmc.exe, ajouter le composant logiciel enfichable Certificats, gérer le compte d'ordinateur, importer le certificat). Ensuite, allez-y avec httpconfig - c'est une version graphique de httpcfg/netsh http qui est beaucoup plus facile. J'ai cet outil sur chaque serveur que je maintiens qui a des certificats SSL. Une fois cela configuré, votre inscription au serveur SSL doit être routée correctement.

+0

J'ai essayé cela. Le certificat apparaît en mmc et IE en tant qu'autorité de confiance. – jmucchiello

+0

Avez-vous réellement émis un certificat avec votre AC? Assurez-vous également que vous gérez le magasin "Compte d'ordinateur" et non votre magasin d'utilisateurs. Si aucun certificat n'est répertorié dans le dossier "Personnel" (avec une clé privée répertoriée lorsque vous double-cliquez dessus), vous faites quelque chose de mal. – nitzmahone

+0

Une fois que vous avez votre cert, utilisez httpconfig pour le connecter à une paire IP/chemin. – nitzmahone