0

I am having trouble to understand how a TLS certificate is authenticated.

From what I read, a server's leaf certificate contains:

  • Server domain name
  • Server public key
  • Issuer (CA) domain name
  • Issuer (CA) signature of this certificate

How is the issuer signature of the certificate verified? Is it a hash function using the upper certificate's public key as an input? Like:

childCertificateSignature = hash(childCertificate, upperCertificatePrivateKey)

and to validate:

isChildCertificateValid = isHashValid(childCertificateSignature, upperCertificatePublicKey)

?

Alexandre
  • 101
  • 3
    If you want to know down to a code level, why not read a reference implementation? – forest Mar 27 '22 at 22:56
  • Does this answer your question? [SSL/TLS client authentication - practical client cert validation](https://security.stackexchange.com/questions/89719/ssl-tls-client-authentication-practical-client-cert-validation). See also [How does browser actually verify...](https://security.stackexchange.com/questions/56389/ssl-certificate-framework-101-how-does-the-browser-actually-verify-the-validity). – mentallurg Mar 27 '22 at 23:59
  • As for "down to a code level" - I consider this way too broad since the code is complex. There are several open source implementations of SSL out there, so please study these. – Steffen Ullrich Mar 28 '22 at 01:38

0 Answers0