views:

209

answers:

2

I have a situation where I need to generate SSL certificates for clients using SslStream as a server.

I know how to do that (makecert.exe), but I run into a problem when trying to ensure that both sides of the connection are authenticated.

Basically, if I use self signed cert, I need to add it to the trusted roots to get mutual authentication to work. I would rather avoid that if I can. I know that I can purchase a SSL certificate, but my situation is that I need to create a different certificate for each client, so buying a certificate for each client is out of the question.

Is there a way to avoid that? Maybe some certificate that I can buy that I can use to generate more certificates? As you can probably tell, I am pretty clueless about SSL in general.

A: 

I'm not sure if this can help you?

http://www.tc.umn.edu/~brams006/selfsign.html

Tony
I can do that, that is not the issue.The problem is that in order to make this work I need to modify the Trusted Roots. I would rather avoid that if this is possible, which is why I asked if there is some way to buy a CA cert. Google isn't helpful here, I am afraid.
Ayende Rahien
IMHO I don't think you can buy one cert and then create other certs, otherwise that would defeat the purpose of an SSL cert. It is supposed to 'authenticate' the validity of something. You see what I mean?
Tony
+1  A: 

The short answer is no, you can't do that. That is yet another reason why client certificates are not popular. You can provide a relatively painless install script for your users to run on their machines to install your homegrown CA certificate, but it still requires user intervention on every client that will connect to your server. Not pretty at all. Are you sure you cannot use usernames and passwords?

GregS