function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

HTTPS with CTI Toolkit 4.0 for Salesforce on Windows XP doesn't work?

We've developed a CTI Adapter for Salesforce using the CTI Toolkit 4.0.  It appears to work on all platforms either with or without HTTPS, except that I can't get it to work with HTTPS on Windows XP.

Here are some of the situations that I've tried:

  • Windows 7, Internet Explorer 9 - works fine with either HTTP or HTTPS.
  • Windows XP, Internet Explorer 8 - works fine with HTTP but not with HTTPS.
  • Windows XP, Firefox 10.0.2 - works fine with HTTP but not with HTTPS.
  • Windows XP, Google Chrome 17.0.963.56 - works fine with HTTP but not with HTTPS.
  • Windows XP, Safari 5.1.2 - works fine with HTTP but not with HTTPS.

I've been following the instructions given in Chapter 6 (Configuring HTTPS for a CTI Adapter) of the CTI Toolkit Developer's Guide Winter '12, but to no avail.  On Windows XP with HTTPS, I am just presented with a button "Connect CTI Adapter" that appears to have no effect when clicked.  The log files are no help - they just have "BrowserHttpListener.Start: BrowserHttpListener has started listening".

Is anybody else able to confirm that they have a CTI Adapter with CTI Toolkit 4.0 working for HTTPS on Windows XP?  If so, then I must be doing something wrong.  If not, then perhaps it's a Salesforce problem that they need to look into.

Any help would be very much appreciated.



The code for browserhttplistener.cs has


if (!HttpListener.IsSupported)
throw new NotSupportedException("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");


So make sure you have SP2 installed


Just to eliminate my changes to the Salesforce CTI adapter code as the cause of the problem, I've now also tried it using the DemoAdapter exectuables etc. that come with the Toolkit 4.0 download.  I get the same problem with the DemoAdapter, in that it works on Windows 7 for HTTP and HTTPS, but on Windows XP it works for HTTP but not HTTPS.

Maybe there's something wrong with what I'm doing in terms of certificate installation etc., although I believe that I'm doing the equivalent of what works on my Windows 7 system.  The following queries show the result of what I did on my Windows XP system to import my certificate authority certificate, my CTI adapter certificate, and to bind the CTI adapter certificate to the port:

C:\>certutil -store ROOT 111ee5ce2c859ba44f8546edea507b7d
402.203.0: 0x80070057 (WIN32: 87): ..CertCli Version
================ Certificate 2 ================
Serial Number: 111ee5ce2c859ba44f8546edea507b7d
Issuer: CN=Syntellect Authority
Subject: CN=Syntellect Authority
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): 8e 31 f1 a4 2d de a2 1c c8 21 ae d8 36 81 fa d1 d6 5d 4b f3
No key provider information
No stored keyset property
CertUtil: -store command completed successfully.

C:\>certutil -store MY 4ba83b54eafc24a190856a3427301670849c7fe3
402.203.0: 0x80070057 (WIN32: 87): ..CertCli Version
================ Certificate 0 ================
Serial Number: 6342ac440da925b54b4bad9ef16e98e6
Issuer: CN=Syntellect Authority
Subject: CN=localhost
Non-root Certificate
Cert Hash(sha1): 4b a8 3b 54 ea fc 24 a1 90 85 6a 34 27 30 16 70 84 9c 7f e3
No key provider information
No stored keyset property
CertUtil: -store command completed successfully.

C:\>httpcfg query ssl -i
    IP                      :
    Hash                    : 4ba83b54eafc24a190856a3427301670849c7fe3
    Guid                    : {00000000-0000-0000-0000-000000000000}
    CertStoreName           : (null)
    CertCheckMode           : 0
    RevocationFreshnessTime : 0
    UrlRetrievalTimeout     : 0
    SslCtlIdentifier        : (null)
    SslCtlStoreName         : (null)
    Flags                   : 0




Thanks for your suggestion.


I'm running Windows XP Professional Version 2002 Service Pack 3.


If that was the problem, then I would expect to see a corresponding error message in the logs, but I see nothing.


Yeah, looks like that error would get logged out to the browser connector log.  Sorry, looks like i can't help. 


An update:


I have now managed to get HTTPS to work on my Windows XP system by using makecert (as specified in the CTI Toolkit Developer's Guide) on the target system.


What I haven't been able to get to work so far (but I was rather hoping for it) was to use makecert on another system, and then to copy the certificates over to my target system, where I could somehow install them.


Do my expectations exceed the realms of possibility, or is it just that I need to find the right way of installing the certificates that I made on another system?


Did you attempt FireFox with HTTPS on a windows 7 machine?  I'm still having problems getting that configuration to work.


I was able to get certs generated on 1 machine and apply them to others and get it to work just fine for Chrome and IE


well i figured out that my problem is that doesn't like the self signed cert i'm using.  if i browse to https://localhost:11001 and accept the security exception, it works fine.  


Having made the certificates, I can export them to a pfx file with certutil -exportpfx.  Now I can import that on another system using certutil -importpfx.  This seems to work for me for Internet Explorer, Chrome and Safari, but not for Firefox.  Firefox has its own certification authority database, and I have found that I can fix it by using the NSS certutil to import my certification authority certificate.