WinHttp for Windows XP and Windows Server 2003 comes with variety of tools that allow the users and system administrators to configure the default proxy settings (ProxyCfg.exe), tracing settings (WinHttpTraceCfg.exe) and configure client certificates (WinHttpCertCfg.exe).

ProxyCfg.exe has been part of the operating system, while WinHttpTraceCfg.exe and WinHttpCertCfg.Exe have to be downloaded separately as part of the Windows Server 2003 Resource Kit Tools.

To avoid the need of tools that don’t ship with Windows and to make the user experience more consistent with the other networking components, ProxyCfg.exe and WinHttpTraceCfg.exe are deprecated for Windows Vista and replaced with Net Shell (Netsh) extensions. WinHttpCertCfg.Exe is deprecated as well and its functionality is integrated in the new Certificates MMC snap-in.

If you are not familiar with Netsh, you can take a look at Windows XP online help (here is a good link). In this post series we will go over some samples on how to configure the WinHttp proxy, tracing settings and client certification settings. Please note that the samples describe the current behavior in Windows Vista Beta 2 and that the command syntax is likely to change a bit for Vista RTM.

To start, you can load up netsh on a Vista CTP build and check it out. The new context that WinHttp introduces is “WinHttp”. You can get to it by just typing “winhttp” from the root netsh context:

C:\> netsh

netsh> winhttp

netsh winhttp>

From here there are two nested contexts available:

proxy    - Configures proxy settings in WinHTTPtracing  - Configures tracing in WinHTTP

Note that at any point you can type “?” to get the list of supported commands. Also, typing “command ?” will show all the parameters for that command.

Next time I will go into a bit more detail about the proxy configuration.

   -- Nesho Neshev