23

Is it possible to buy an intermediate certificate to use it to sign subdomain certificates? It has to be recognised by browsers and I can't use a wildcard certificate.

The search turned up nothing so far. Is anyone issuing such certificates?

1
  • 3
    DigiCert Enterprise lets you pre-validate your domain and then do large-scale subdomain certificate generation. (Disclosure: I do not work for DigiCert, but my employer uses their certificate services.)
    – Moshe Katz
    Commented Jun 19, 2014 at 23:12

4 Answers 4

20

The problem is, that the currently used infrastructure and implementation does not support intermediate certificates which are limited to only some (sub)domains. This, in effect, means that you can use any intermediate certificate to sign any certificate you want and the browsers will trust it, even if this would be certificates for domains you don't own.

Thus, such intermediate certificates are only given to really trustworthy organizations, whatever this means (but lots of money is probably involved).

6
  • 9
    Yes, really trustworthy organizations such as Comodo or DigiNotar. Or VeriSign ("I'm looking for a Microsoft cert..."/"Here you go"). TURKTRUST, Digicert Sdn. Bhd, ...
    – basic6
    Commented Jun 17, 2014 at 10:26
  • Actually no - they run their own root and intermediate. Replacing the root is complex - so what is normally done is using a root certificate ONLY to sign an intermediate CA certificate then take the root ca offline. ;)
    – TomTom
    Commented Jun 24, 2014 at 6:10
  • Picking on google for no particular reason, but since they have an intermediate CA and don't sell certs, there's a reasonable chance it could be stolen and abused without rapid detection for MITM between a pair of hosts doing SMTP over TLS. I suspect that quite a few sysadmins wouldn't think too much if a cert changed for an SMTP connection to one issued by google.
    – Phil Lello
    Commented Mar 18, 2016 at 16:18
  • ... Indeed, this may be what happens when a business switches to google apps for email.
    – Phil Lello
    Commented Mar 18, 2016 at 16:24
  • Actually the current PKI explicitly supports this. RFC 5280 section defines the Name Constraints extention which allows the creation of an intermediate CA with restrictions on what domains they can create for. The problem is that its practically never implemented.
    – Jake
    Commented Mar 8, 2018 at 17:21
8

No, because it would be a violation of the original certificate - browsers would trust your certificates and you could start issuing stuff for google.com etc. - and if you do that smart, you would not be easy to get.

Intermediate Certificate Authorities have a lot of power. An intermediate CA is a certificate signing authority - that is trusted via the root certificate - and nothing in the specification allows limiting the subordinate CA.

As such, no reputable certificate organization is going to give one to you.

4
  • 3
    Sure but I was under the impression that you could limit intermediate certificate scope (e.g. to a single domain). Another answer seems to imply that's not the case.
    – Alex B
    Commented Jun 17, 2014 at 7:23
  • 2
    It is not the case. An intermediate CA is a certificate signing authority - that is trusted via the root certificate - and nothing in the specification allows limiting the subordinate CA.
    – TomTom
    Commented Jun 17, 2014 at 7:45
  • @TomTom: Good explanation. I took the liberty of editing your comment into your answer.
    – sleske
    Commented May 19, 2015 at 12:15
  • @alexb I believe it's a case of the spec allows it but you can't rely on client implementations to support it. Unfortunately I can't find a reference but am fairly confident.
    – Phil Lello
    Commented Mar 18, 2016 at 16:21
5

It is/was possible to buy a valid CA from GeoTrust.

I was not able to find the product on the English pages, but here is an archived version:

http://archive.is/q01DZ

To purchase GeoRoot you must meet the following minimum requirements:

  • Net worth of $5M or more
  • A minimum of $5M in Errors and Omissions insurance
  • Articles of Incorporation (or similar) and an incumbency certificate provided
  • A written and maintained Certificate Practice Statement (CPS)
  • A FIPS 140-2 Level 2 compliant device (GeoTrust has partnered with SafeNet, Inc.) for key generating and storing your root certificate keys
  • An approved CA product from Baltimore/Betrusted, Entrust, Microsoft, Netscape or RSA

The product is still available on their German page:

http://www.geotrust.com/de/enterprise-ssl-certificates/georoot/

5

(This is a new answer to an old question because I believe this helps understand that there is no "magic" behind certificates and CA)

As an extension of the approved answer given by @Steffen Ullrich

The entire certificate to identify websites thing is just a big money business. The X509 certificates are defined (amongst others) by RFC5280 and anyone can be a root CA or an intermediate CA, it all depends on the trust you have regarding that entity.

E.g.: If you are in an Active Directory domain, then your primary domain controller is a trusted root certification authority by default. Meanwhile, there are absolutely no other third-parties involved.

On the broad Internet, the issue is to identify "who you can trust" because it is much larger than just one company. And therefore, the browser vendors provide a custom arbitrary list of root CA that it will trust without prompting for your consent.

I.e.: If you have a very good relationship with the Mozilla foundation, then your own arbitrary self-signed root CA could be added to that list on the next release of their Firefox browser... Just because they decided it !

Moreover, there are no RFC that define the behavior and the rules on how browsers should behave regarding the certificates. This is an implied consensus that because the "CN" of the certificate is equal to the domain name, that it is supposed to be matching.

Because this was not sufficient at some point, browser vendors all implicitly ageed that a wildcard certitificate of the form *.domain.com would match any subdomain. But it matches only one level : no sub.sub.domain.com why is that ? Because they just decided so.

Now about your original question, what would prevent that your primary domain certificate be allowed to create sub-certificates for your own subdomains, that is an easy process for the browser to check, just getting the certificate chain.

The answer is : nothing

(except that technically you should have a "flag" in your own domain certificate to do it)

The broswers vendors, if they find this convenient enough, may decide to support it.

However, back to my first statement, this is big money business. So those few root CA that have agreements with the browser vendors are spending large amounts of money to appear in that list. And today, they get that money back because you have to pay for each individual subdomain certificate or get a wildcard which is much more expensive. If they allowed you to create your own subdomain certificates, this would tremendously cut their profit. So this is why as of today, you cannot do it.

Well, you still can, because it would strictly be valid x509 certificates, but not any browser would recognize it.

1
  • Minor nitpick with your AD example. Active Directory by itself doesn't actually use or contain a PKI infrastructure. You have to spin that up separately and optionally configure the domain to trust the chain and then generate certs for the domain controllers. Otherwise, good answer. Commented Jun 9, 2017 at 18:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .