2

I have a digital certificate that I use to exchange messages with peers, my certificate expiration date is due next year, suppose I renew this certificate before it expires, will I be able to open the received messages signed/encrypted with the old certificate? Will my peers be able to open the sent messages signed/encrypted with the old certificate?

Will the renew process create another key-pair? This process is very confusing to me, sorry if the question is too lame, couldn’t find any useful information searching the web.

Thank you

Thomas Pornin
  • 322,884
  • 58
  • 787
  • 955
  • I assume we are talking S/MIME email here? – ewanm89 Dec 18 '12 at 15:38
  • No, I have my own software to encrypt those messages. –  Dec 18 '12 at 16:17
  • I believe the Microsoft CA allows you to renew without changing the private/public key. But I've wondered what happens if you get multiple certificates with the same subject in a store having different keys. Does the cryptography API have to try each certificate hoping that one will eventually work? Or can it match up the right one by thumbprint? Documentation on how this works seems vague. – Brain2000 Oct 24 '13 at 20:20

4 Answers4

3

What "opens" (decrypts) a message is not the certificate, but the private key. The certificate contains the public key, which is mathematically linked with the private key, and is used to encrypt messages.

When the certificate is expired, people stop using it; that is, they will stop encrypting new messages with the public key contained in the certificate. But, as long as you keep a copy of your private key, you will be able to decrypt messages which have previously been encrypted and sent to you.

Renewal is the act of obtaining a new certificate from the CA. The CA may include the same public key in the new certificate; or it may require that you generate a new key pair. This is up to the CA and its policies. This does not change the core principle: private keys do not "expire". Expiration is a rather artificial way of invalidating a public key which is cryptographically fine (as Peter Gutmann puts it, the "expiration date" should be called "renewal fee due date").

Thomas Pornin
  • 322,884
  • 58
  • 787
  • 955
  • Thanks for the answer, you made it very clear to me, but I have another situation, what if the expiration occurs in the other parts public key, or even worst, what if the expiration occurs in both certificates public keys, will I be able to decrypt that message(assuming I still have my private key)? –  Dec 28 '12 at 14:20
  • As long as you have the private key you are able to decrypt the message. The messages are encrypted using the public key associated with your private key. The operation of decrypting is just mathematic, as long as you have the message and the key, there is no reason why you would not be able to decrypt it. – Dinu Jan 06 '13 at 19:58
  • 1
    "renewal fee due date" LOL. Certificate Authorities or how to capitalize on maths. Read the RSA-Verisign story. But the end for them is near: letsencrypt.org – John Doe Nov 05 '16 at 20:26
  • @JohnDoe This question seems to be about S/MIME. Let’s Encrypt doesn’t (won’t) deal with S/MIME. – Franklin Yu Sep 11 '19 at 18:52
1

It would depend on what is involved in the certificate renewal. Certificate expiration prevent a compromised key from being used forever. It may be possible to reuse the same private/public key for another valid period or it may not be depending on the CA, since they may prefer to assume that a private key may have been compromised. In either case, your previous private key would still be valid for decrypting your old messages, it just wouldn't be able to sign any future messages if your key pair was changed with the new cert. (ie, the validity period only defines what period of time the private key should be trusted for authentication.)

AJ Henderson
  • 41,896
  • 5
  • 63
  • 110
0

From what I've gathered: Certificates contain information relating to you. Then you sign them with your private key to reassure the receiver that you are who you are supposed to be (granted that they trust your private/public key in the first place). On the certificate, the public key is also embedded to allow them to encrypt/decrypt communicaion with you. By issuing a new certificate, you should use the same private/public key pair to sign it. As long as these have not changed you will not have a problem.

  • So, my private and public keys won't change in the renewal process? –  Dec 18 '12 at 16:20
  • I have only used my own self-signed certificates and it is up to me to use the same keys. If you can create your own certificate signing request using the same keys, you might send it to a ca willing to sign your new certificate and you will be good to go. – Nikolaos Kakouros Dec 21 '12 at 03:12
0

The definitive answer should be in the Certificate Policy of the CA which issued your certificate, but a renewal should indeed use the same public key (as opposed to a re-key, which associates the same information with a new public key).

Here are clear definitions of renewal, re-key and re-issuance.

sam280
  • 116
  • 3