Non c'è una buona documentazione su OpenSSL per salvare il suo codice sorgente. Purtroppo. Il meglio che puoi fare è acquisire una certa comprensione dei concetti sottostanti, e poi fare qualche prova con OpenSSL per vedere come li vive. Per SSL / TLS, suggerisco di leggere la specifica TLS 1.0 , che è abbastanza leggibile e include alcuni schemi su come vanno le cose un handshake TLS.
Per gli algoritmi crittografici elementari, consulta l'indispensabile Manuale di crittografia applicata , che è liberamente scaricabile. Il capitolo 13 include alcune discussioni sul concetto di certificati a chiave pubblica.
Per i certificati X.509, devi prima capire di cosa parla ASN.1; vedi ASN.1 completo , di John Larmouth. Il libro è liberamente scaricabile (dopo la registrazione) ed è buono finché non si acquista l'idea che ASN.1 sia grande: è un'incredibile incarnazione di quella che avrebbe potuto essere una grande soluzione (il Diavolo è nei dettagli, in Nel caso di ASN.1, il Diavolo aveva abbastanza spazio per nascondere un'intera legione di demoni con lui). Una volta che vedi ASN.1, puoi provare a dare un'occhiata allo standard X.509, o almeno al suo profilo Internet . È un dominio profondo, oscuro e complesso, lastricato di tutte le buone intenzioni del mondo, e da incubo come potrebbe essere immaginato da uno scienziato demente che legge troppo Lovecraft. Tutta la speranza ti abbandona chi entra qui. Inoltre, dai un'occhiata a Guida allo stile X.509 .
Il mio fidato amico Google ha trovato questa pagina che si collega ad alcuni esempi di codice e documentazione (come due file PDF ) che spiega come utilizzare OpenSSL (come libreria).