2

Do certificate providers allow you to have multiple certificates with the same common name but different CSRs from different private keys, all operating at the same time? At first glance, it's the same question asked here, but my context is different.

My plan is to have two web servers--one that supports only modern ciphers and one that gives a nice error message if your browser doesn't support one of those. A load balancer will read the Client Hello message and if the browser supports one of the ciphers in the list, they get sent to the real site; if they don't, they get sent to the site that gives them the error and a suggested course of action.

However, I would prefer to not have the same private key on both of these sites--the "error message" site being more prone to getting owned because of the old ciphers.

Perhaps some certificate authorities will issue two certs with the same CN and different CSRs and some won't. Thoughts?

  • Have you considered serving the "error message" site over plain HTTP (without TLS)? – John Wu Sep 19 '16 at 17:31
  • The only way to get to the place where I could give an error message at all would be for it to be an https site (so the browser would send the Client Hello). – theglossy1 Sep 19 '16 at 17:39
  • FYI, I asked my certificate authority (RapidSSL) and they said I could definitely do that as long as I paid for two certificates. I'm guessing that's what all the certificate authorities would do... – theglossy1 Sep 19 '16 at 17:40
  • Depending on your certificate authority, you may be able to use the "Reissue" button and do it for free. (As long as it doesn't automatically revoke!) (Or you can use Let's Encrypt.) – Matt Nordhoff Sep 19 '16 at 17:53
  • Out of curiosity (although it has a lot of bearing on any answer) how do you plan to implement the differentiation of traffic types? – symcbean Sep 20 '16 at 13:44
2

Different private keys for one ... certificate

This is not possible. The certificate signs a single CSR, based on a single Private Key.

The other Private Key would have to be signed with a different certificate.

Do certificate providers allow you to have multiple certificates with the same common name ...

@Matt Nordhoff is exactly right here.

Depending on your certificate authority, you may be able to use the "Reissue" button and do it for free. (As long as it doesn't automatically revoke!)

This might actually work!

I don't know if this is a recommended solution. I'd be more comfortable if the CA officially supported this solution.

Or you can use Let's Encrypt.

Assuming your certificate is Domain Validation only (most are) then you could automate the certificate renewal process, and make use of letsencrypt.org's free 90 day certificates.

I believe Let's Encrypt is trying to eliminate the use of unencrypted HTTP by allowing webservers to automatically maintain HTTPS certificates by default.

  • To your first point, I would obviously generate two CSRs from two different private keys for two different certificates. The question is not really a technical one, it's more a question of policy. – theglossy1 Sep 20 '16 at 0:02
  • You may wish to edit the question title to no longer state ask about 'one certificate'. – Bryan Field Sep 20 '16 at 12:34
  • Good idea; done. – theglossy1 Sep 20 '16 at 13:24
0

A certificate is little more than:

  • a public key,
  • some identifying information and
  • a signature by a CA that vouches for the relationship between the first two.

In that sense you can't have two private keys for a single cert because you can't have two private keys for a single public key (at least on RSA and ECDSA).

However, there's nothing that prevents an identity (e.g. a CN) to be associated with more than one public key.

This means you can accomplish what you want by having different certificates for the same domain.

The details of that will depend on your CA. AFAIK letsencrypt doesn't have an issue with that. Other CAs will probably charge you for each certificate.

-2

Regarding your main concern - which is having two different certs with two different cipher types but the same CN... Ultimately, as you must know by now, all servers are being patched for things like weak ciphers and encryption suites. Even Microsoft has updates and manual fixes: https://support.microsoft.com/en-us/kb/2868725

So while you are trying to make it easy on your users - I have to ask, are you serving the community by trying to continue support for weaker ciphers/algorithms?

Wouldn't it be better to warn them to upgrade their browsers? Or is that not an option for your business?

  • That's what I'm doing. The goal is that instead of a generic, yucky message from their browser (e.g., "Negotiation failed"), we can provide a nice message about their ciphers being out of date. – theglossy1 Sep 20 '16 at 13:38

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.