Let me explain my situation.

I created a self-signed certificate and installed it in the Trusted Root Certification Authorities section in MMC.

I then created two certificates using the self-signed certificate:

  1. A certificate with subject name "localhost"
  2. A certificate with subject name "test.com"

I then installed both certificates into the Personal certificates section in MMC.

I then deployed a web service as HTTPS (SSL with accept client certificates) in IIS. The certificate used to deploy the web service is the one with subject name "localhost".

Now, I have a client who wants to connect to the web service. I successfully added a web reference to the service. This is the code:

            ClientServices web_service = new ClientServices();
            X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
            X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySubjectName, "test.com", true);

            if (col.Count == 1)
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;

                    string hello = web_service.HelloWorld();
                    int add = web_service.add(4, 31);
                    int sub = web_service.subtract(30, 10);

                catch (WebException e)

                Console.WriteLine("The certificate was not found!");

As you can see, I am sending the "test.com" certificate along with the web service request. Unfortunately, I am getting this exception:

The request was aborted: Could not create SSL/TLS secure channel

How can I solve this problem? I have already wasted 3 hours on this issue. Please help me.

        X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

You're using the LocalMachine store. Either put your certificates are 'Machine Certificates' in mmc, (elevated MMC -> certificate snap-in -> Computer Account), or use the CurrentUser store.

Also this might be a better question for StackExchange since it's C#/Programming related.

  • The certificate is being located and loaded from the store. I checked by debugging the program. The problem is when the call for the web service is being made
    – Joe Borg
    Apr 25 '13 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.