Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Can I get a certificate from a root CA that I can then use to sign my own web server certificates? I would, if possible, use a signed certificate as an intermediate to sign other certs.

I know that I would have to configure my systems in a certain way with "my" intermediate certificate in order to supply information about the chain of trust to my clients.

Is this possible? Are root CAs willing to sign a certificate like this? Is it expensive?

BACKGROUND

I'm familiar with the basics of SSL as it pertains to securing web traffic over HTTP. I also have a basic understanding of the way the chain of trust works, in that web traffic is secured "by default" if you encrypt with a certificate that has a valid chain all the way back to a root CA, as determined by the browser/OS vendor.

I am also aware that many of the root CAs have begun signing certificates for end users (like me) with intermediate certificates. That may require a bit more setup on my end, but otherwise, those certificates will work fine. I guess this has to do with protecting their all-valuable private key for the CA and the disaster that it would be if i were ever compromised.

EXAMPLES

  1. https://www.microsoft.com
  2. https://www.sun.com
  3. https://ecomm.dell.com/myaccount/ga/login.aspx?c=us&cs=19&l=en&s=dhs

Now, we are definitely not the size of any of those organizations, but they seem to be doing something like this. It would definitely make the management of these certificates a lot more palatable, especially considering one way we are expanding the reach of our e-commerce platform.

share|improve this question

6 Answers 6

up vote 5 down vote accepted

Your question reads to me and to others as "How do I issue certificates to entities inside and outside of my organization that are trusted by arbitrary internet users?"

If that is your question than the answer is "You don't.". If it isn't, please clarify.

I also recommend reading "Windows Server 2008 PKI and Certificate Security by Brian Komar" and consider all of the various PKI scenarios for your applications. You don't need to use Microsoft's CA to get something out of the book.

share|improve this answer
    
I appreciate the input, but I think the examples I cited establish the "You don't" portion of your statement as incorrect. Look at the chain of trust for those certificates and you'll see that there is an enterprise-specific certificate between the root CA (distributed with browser/OS) and the certificate which the web server is using to encrypt HTTPS traffic. –  Clint Miller Aug 27 '09 at 16:48
7  
It's not just a certificate. Sun/Microsoft/Dell is operating an intermediate CA. Operating an enterprise, public-facing CA is an expensive, complicated task that requires periodic external audit. The Komar book explains a number of CA scenarios and illustrate why it is so complex. If your application design is leading you down the road to becoming a CA, you need to think long and hard about your design goals and implementation strategy. –  duffbeer703 Aug 27 '09 at 17:11

A quick search shows that such things exist, but with the 'contact us for a quote' suggests it won't be cheap:

http://www.globalsign.com/certificate-authority-root-signing/internal-pki/

I make no claims about the company, but that page might give you terms to use to find other companies doing the same.

share|improve this answer

If you could do this, what's going to prevent Joe Malware from issuing a cert for www.microsoft.com and giving you his own "special" brand of updates through a DNS hijack?

FWIW, here's how to get your root certificate included by Microsoft in the OS:

http://technet.microsoft.com/en-us/library/cc751157.aspx

The requirements are pretty steep.

share|improve this answer
    
Well, 2 things, I suppose. 1. It's obvious that no root CA is going to allow me to sign certs for other entities that are not part of my organization. They may not be able to prevent me from doing it once, but it won't be long until the cert they signed for me is on revocation lists and then it will all be over. 2. Even more significantly, what "global" scale techniques are there for DNS hijacking? The cache-poisoning issue that Kaminsky made famous has been patched by the DNS vendors, right? –  Clint Miller Aug 27 '09 at 15:45
    
If all the certs that you are talking about are owned by your organization, are they in the same top-level domain? If so, a wildcard SSL cert (*.mydomain.com) might be a better strategy. –  Tim Howland Aug 27 '09 at 18:47
    
Unfortunately I have more domains to secure, so the wildcard (which was the initial strategy) will not work for us as we have expanded our business to cases where a different domain is desired. My solution for the time being is SAN certs (subject alternative names), but it's somewhat painful to create a new certificate for every addition/deletion of another domain. –  Clint Miller Aug 30 '09 at 1:13

This is basically indistinguishable from becoming a reseller for that root CA, which almost certainly costs lot of effort and money to be. This is because, as Tim notes, you can make a valid certificate for any domain, which shouldn't be allowed unless you control that domain.

An alternative is RapidSSL's reseller program in which they do all the hard work and issue from their root CA.

share|improve this answer
1  
I couldn't disagree more! I don't want to resell certs to others. I want to make the management of securing communications within our business and between our business and clients easier. Tim asked a legitimate question, but I think you're missing the point. –  Clint Miller Aug 27 '09 at 15:47
2  
I'm looking at it from the CA's point of view - to them, what you're asking is to become a fully-fledged CA in your own right, which is quite risky for them - just because you say you don't want to make certs for others doesn't mean that you won't have the technical ability to, hence they'll want serious controls to make sure you don't. –  TRS-80 Aug 28 '09 at 5:49

Ask yourself these two questions:

  1. Do you trust your users to properly import root certificates into their web browser?
  2. Do you have the resources to partner with an existing root CA?

If the answer is yes to 1, CAcert has solved your problem for you. If the answer to 2 is yes, look into the list of trusted root certificates shipped with OpenSSL, Firefox, IE and Safari and find one to sign your intermediary certificate.

share|improve this answer

I think what you'd be better off doing is getting a wildcard certificate from the CA, that way you can use the same certificate on any subdomain of your primary domain, but you can't issue certificates for anything else.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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