Let's say Alice wants to communicate with some server S. Eve manages that the traffic from both parties will pass her in order to impersonate server S. Now, digital certificates are supposed to provide authentication. In this scenario it should ensure the identity of the server, so that Eve is not able to impersonate S. But what prevents E to send the identical certificate from server S?

As i've understood, the digital certificate that was issued by a CA or a intermediate-CA to S has only static fields, meaning there are no fields that will change upon request. All fields are static until the certificate expires or it is revoked. A certain subset of these fields is hashed and a signature algorithm is applied to the hash using the private key of the issueing authority. The client can verify the signature by hashing the subset of fields and comparing the calculated hash with the "decrypted" signature (using the public key of the issuing authority) value that resides in the certificate.

So, if Eve just passes the certificate from S to A, A will verify that the certificate is valid and thus believe that it is communicating with S instead of E.

What am I missing here?

2 Answers 2


You seem to understand that Alice checks that the certificate was issued for the server and that it was signed by an issuer (certificate authority) which is trusted by Alice.

But what you are missing is that Alice also asks the server for a proof that the server actually owns the certificate - a proof which only the server but not Eve can do. This proof is essentially done by Alice giving a challenge to the server and the server signing the challenge with the private key matching the public key inside the certificate. This signature then can be verified by Alice using the public key inside the certificate.

Since Eve has no access to the servers private key Eve cannot properly sign the challenge and thus Alice will detect that she does not talk to the expected server.


E don't know secret part of S key. In asymmetric (or public key) cryptography you need to have PARE of key - public and private. But in real this is two pats of ONE key, and private key E can't be used with public key S See https://en.wikipedia.org/wiki/Public-key_cryptography

You must log in to answer this question.

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