wiki-js/Information.md

55 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: SSL/TLS
description:
published: true
date: 2025-09-28T15:54:30.974Z
tags:
editor: markdown
dateCreated: 2025-09-28T14:42:56.701Z
---
# SSL/TLS
## CA
A provider which can sign certificates.
## Certificate
The CA provides a certificate and signs it with a digital signature using the private key of the CA.
```
f(certificate, CA Private Key) = signature
```
An SSL/TLS certificate (X.509 cert) contains
* The servers public key
* The domain name(s) its valid for
* Validity period (start/end dates)
* Extensions (like usage constraints)
* A digital signature made by the issuer (CA)
The client request a certificate from a server and checks that the resulting hashes match. The CA public key is knwon to the browser prior.
```
f(signature, CA public key) = result hash
```
```
hash(certificate) = result hash
```
The the client uses the Servers public key taken from the CA certificate and sends a messages which can only be correctly decoded if the server has the correct private key.
Client
```
f(message, Server public key) = crypt
```
Server
```
f(crypt, Server private Key) = message
```
After this the TLS handshake is complete.