Il protocollo SSL (Secure Sockets Layer) consente comunicazioni crittografate e autenticate tra il client e il server, grazie all'applicazione della crittografia con chiave pubblica. Per inviare un messaggio crittografato, il mittente crittografa il messaggio con la chiave pubblica del destinatario e il destinatario decrittografa il messaggio con la propria chiave privata. Solo il destinatario possiede la chiave privata che può decrittografare il messaggio.
Per garantirne l'autenticità, la chiave pubblica è accompagnata da un certificato. Un certificato è una firma digitale in un digest del nome del partecipante e della chiave pubblica del partecipante. Il certificato è crittografato con la chiave privata dell'autorità di certificazione. Per verificare l'autenticità della chiave pubblica del partecipante, chiunque può calcolare il digest del nome e della chiave pubblica del partecipante, quindi decrittografare il certificato per la chiave pubblica utilizzando la chiave pubblica dell'autorità di certificazione e verificare che il risultato sia un digest uguale.