You can suggest this:

The server sends its certificate and public key to the client during SSL handshake. How can a client be sure that this public key belongs to the server that sent it, plus the certificate?

Do I understand correctly that the public key of the server was signed with the certificate by the CA? If so, how is it safe to provide a public key for the signature to the certification authority?

  • one
    In short: the certificate is signed by a certification authority that the client trusts by default - andreymal
  • @andreymal it remains incomprehensible to me how to safely send the public key and certificate to the certificate authority? suddenly the attacker will change the public key during its transmission to the center - voipp
  • The mentioned problem really exists in some cases, but in general, by default, no one needs to send anything to anyone, the signature is checked by smart math offline. This Wikipedia article seems to be talking about this; here, in the answer, can someone in simple words even tell - andreymal

1 answer 1

the server sends its certificate and public key to the client

The public key is part of the certificate.

it remains unclear to me how to safely send the public key and certificate to the certificate authority? suddenly the attacker will change the public key during its transmission to the center

Using an SSL connection (HTTPS, mail over SSL, FTPS, etc.). It protects against MITM attacks (man in the middle).

Certificate Authority will send you back a signed certificate. If it suddenly turns out that you have signed the wrong certificate, you can request a cancellation, and the certificate authority will add it to the revocation list (such a list of certificates where the signature and expiration date are correct, but for some reason this certificate is not trusted).

  • the server has the public key of the certification authority, so that it can encrypt its certificate with the key and boil it for signature. The center will decrypt the certificate with its closed call, did I understand that correctly? - voipp
  • @voipp No, asymmetric encryption is not used here. Certificate Authority does not use your public key. He signs your certificate with a private key (from his certificate, which will be higher in the chain in front of yours), and adds this signature to your certificate. - Zergatul
  • Well, see, to sign a certificate, this certificate authority must obtain it (along with the client’s public key). And how to safely get it - voipp
  • In order for the center to receive it safely - I wrote in reply, for this you have to send it via a secure connection. What would you get it safely from the center, there is no difference, there is a signature that can not be faked. - Zergatul