Primero que nada, tengamos cuidado con el idioma, cuando hablas de una CA pública como Entrust, o Verisign o Digicert, sí, hay algún software involucrado para crear y administrar los certificados, pero realmente estás hablando de personas . Estas compañías son de confianza , no porque el software que usan, sino porque sus administradores de red toman la seguridad en serio, porque sus especialistas en verificación son meticulosos en la verificación de registros antes de emitir un certificado a una nueva organización (al menos para Certificados EV). Entonces, al menos el 80% de lo que significa ser un CA es sobre los humanos.
Cierto, ahora que ya está fuera del camino, hablemos del software.
Está hablando de herramientas de software para administrar una Infraestructura de clave pública . Para ser un CA, solo necesitas 3 cosas en el software:
-
Un par de clave pública / clave privada.
-
Un certificado autofirmado para ese par de claves.
-
Una herramienta de software que puede firmar solicitudes de firma de certificado ( .csr
s) con ese par de claves.
El otro 80% corresponde a las políticas sobre cómo administrar los datos y la cantidad de verificación de antecedentes que realiza antes de firmar un .csr
. La diferencia entre los diferentes programas de PKI es la cantidad de timbres que recibes.
OpenSSL es solo una herramienta de línea de comandos para realizar operaciones de cifrado. En términos generales, es una herramienta de línea de comandos básica: si pones un archivo, te devuelve el archivo. Lo que hagas con esos archivos depende de ti.
openssl ca -cert ca.crt -keyfile ca.key -in infile.csr -out outfile.crt
Será totalmente compatible con el estándar X.509, además de algunos servicios básicos para emitir CRL, responder a OCSP, etc., pero la configuración y la administración serán bastante prácticas.
Algo como EJBCA , Servicios de certificados de Active Directory o Entrust Authority Security Manager (¡un conector descarado!) es una gestión completa de PKI sistemas que se ejecutan como servidores web en vivo, responden a las solicitudes, administran su propia base de datos y almacenan las claves privadas de la AC en un conectado en red dispositivo. En particular, vienen con buenas interfaces de administración basadas en la web (ver capturas de pantalla a continuación), pueden realizar operaciones automatizadas de gestión de certificados a través del protocolo CMP , publican automáticamente Listas de revocación de certificados (CRL) cada dos horas sobre todos los certificados que hayan emitido, responden a controles de revocación en línea (OCSP) , es decir, "hey CA, ¿el certificado n. ° 23488817 sigue siendo bueno?" -, los gobiernos pueden utilizar EJBCA y Entrust Security Manager para emitir pasaportes electrónicos , Active Directory Certificate Services de Microsoft y Entrust Security Manager (No estoy seguro de EJBCA) tengo un software de cliente que se ejecute en la computadora de escritorio o portátil del cliente que se comunique con la CA y actualice automáticamente el certificado cuando se acerca la fecha de expiración, y mucho más. Consulte la lista completa de funciones de EJBCA
TL; DR: OpenSSL técnicamente contiene todo lo que necesita para ejecutar y administrar una CA, pero es bastante básico, lo que requiere que haga una cantidad justa de forma manual en la línea de comandos. No puedo imaginar administrar una PKI de más de 5 certificados con OpenSSL. Los productos PKI más sofisticados ofrecen conveniencia al automatizar tanto como sea posible y al proporcionar UI de administración basadas en la web. Están diseñados para sistemas donde usted administra millones de usuarios; piense en las CA públicas raíz que emiten los certificados SSL para toda la Internet, o que administran los certificados de correo electrónico S / MIME para un gran departamento gubernamental, o que administran los certificados en una pasaportes de la nación. Supongo que entre el 70% y el 80% de las CA en el mundo con más de 1 millón de usuarios ejecutan uno de los tres programas de PKI que he mencionado aquí: Microsoft ADCS, EJBCA o Entrust SM.