This article explains how to make SSL requests using the WinInet APIs.
It is possible to establish a Secure Socket Layer (SSL) or Private
Communications Technology (PCT) HTTP session with the WinInet APIs. Secure
HTTP, denoted as HTTPS://, takes place over TCP port 443. Code similar to
the following can be used to establish an HTTPS session:
...
hOpen = InternetOpen (...);
Connect = InternetConnect (
hOpen, // InternetOpen handle
"MyHttpServer", // Server name
INTERNET_DEFAULT_HTTPS_PORT,// Default HTTPS port - 443
"", // User name
"", // User password
INTERNET_SERVICE_HTTP, // Service
0, // Flags
0 // Context
);
hReq = HttpOpenRequest (
hConnect, // InternetConnect handle
"GET", // Method
"", // Object name
HTTP_VERSION, // Version
"", // Referrer
NULL, // Extra headers
INTERNET_FLAG_SECURE, // Flags
0 // Context
);
...
Please note two differences when using HTTPS instead of HTTP:
- InternetConnect uses INTERNET_DEFAULT_HTTPS_PORT instead of
INTERNET_INVALID_PORT_NUMBER or INTERNET_DEFAULT_HTTP_PORT
- HttpOpenRequest uses the INTERNET_FLAG_SECURE option in addition
to all other options.
The following two options can be used either in HttpOpenRequest or in
InternetOpenUrl to ignore invalid certificate errors:
- INTERNET_FLAG_IGNORE_CERT_CN_INVALID - Ignores errors that can be caused
by the certificate host name of the server not matching the host name in
the request.
- INTERNET_FLAG_IGNORE_CERT_DATE_INVALID - Ignores errors that can be
caused by an expired server certificate.
Please see the Internet Client SDK documentation for more information on
these flags.
SSL and PCT functionality are provided by Schannel.dll, which is properly
installed when you run the redistribution program Wintdist.exe or
Wint351.exe. See Redist.txt or Axredist.txt for information about
redistributing Schannel.dll.
Article ID: 168151 - Last Review: July 2, 2004 - Revision: 1.1
APPLIES TO
- Microsoft Internet Explorer 3.0
- Microsoft Internet Explorer 4.0 128-Bit Edition
- Microsoft Internet Explorer 4.01 Service Pack 2
- Microsoft Windows Internet Services (WinInet)
Retired KB Content DisclaimerThis article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.