I've got a question about the signature of a CA.

As I understand, the CA takes the public key of the client and signs it with his own private key by using "md5WithRSAEncryption" (like explained here: http://en.wikipedia.org/wiki/X.509#Sample_X.509_certificates". What does it mean exactly? Can you give me a formal explanation for better understanding? Does the CA use both algorithms?

Second question In the first certificate example from wikipedia in section 'Subject Public Key Info:' there is defined the 'RSA Public Key:' Is that the plain public key which the CA got from the Client or is there something done on it?

Please give more hints for better understanding if you can.

Thanks before

  • 1
    $\begingroup$ Modern CA's does not use md5 but sha1. If they sign with md5 there are some security weakness. $\endgroup$
    – 111
    Feb 6, 2015 at 9:34
  • $\begingroup$ Modern CAs do not use sha1 but sha2. If they sign with sha1 it is a security weakness. (Now let's wait for 2023 for someone to post another comment about sha2!) $\endgroup$
    – Luc
    Feb 20, 2019 at 14:42

1 Answer 1


Signing with "md5WithRSAEncryption" means CA calculates MD5 hash to get an integer first and apply his private RSA key next to produce the signature. A DER-encoded string is the input to the hash. Client (Subject in X.509 parlance) data, including public key, is described with ASN.1 language, "to be signed" part of specification. Certificate extensions (v3) are also included into "to be signed".

"Plain" public key, as received from client, is encoded according to X.509 specifications. See ASN.1 description at PKCS 10, "certificate request".

Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

  • $\begingroup$ Ok, that was very helpful. The recipient of the message will then verify the certificate by decrpyting the signature by CA's public key and recalc the hash(subject + public key) of the sender. Isn't it true? $\endgroup$ Jan 28, 2015 at 17:13
  • $\begingroup$ @user1844505 yes, exactly. To elaborate, "decrypting" would be modulo exponentiation with public exponent and hash of "to be signed" (that includes certificate extensions). $\endgroup$ Jan 28, 2015 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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