No hay buena documentación en OpenSSL, guarda su código fuente. Tristemente. Lo mejor que puede hacer es obtener cierta comprensión de los conceptos subyacentes y luego hacer algunas pruebas con OpenSSL para ver cómo les corresponde. Para SSL / TLS, sugiero leer la especificación TLS 1.0 , que es bastante legible e incluye algunos esquemas de cómo van las cosas un apretón de manos TLS.
Para los algoritmos criptográficos elementales, consulte el indispensable Manual de criptografía aplicada , que se puede descargar libremente. El capítulo 13 incluye una discusión sobre el concepto de certificados de clave pública.
Para los certificados X.509, primero debe comprender de qué se trata ASN.1; vea ASN.1 Complete , por John Larmouth. El libro se puede descargar libremente (después del registro) y es bueno siempre y cuando no compre la idea de que ASN.1 es genial: es una encarnación terrible de lo que podría haber sido una gran solución (el Diablo está en los detalles; en En el caso de ASN.1, el diablo tenía suficiente espacio para esconder una legión de demonios con él. Una vez que vea de qué se trata ASN.1, puede intentar echar un vistazo al estándar X.509, o al menos su perfil de Internet . Es un dominio profundo, oscuro y complejo, pavimentado con todas las Buenas Intenciones del mundo, y como una pesadilla que podría imaginar un científico demente que leyó demasiado Lovecraft. Toda esperanza, abandónense quienes entren aquí. También, eche un vistazo a X.509 Guía de estilo .
Mi amigo de confianza, Google, creó esta página que enlaza con algún código de ejemplo y documentación (como dos archivos PDF). ) explicando cómo usar OpenSSL (como una biblioteca).