¿Qué es una buena autoridad de certificación X.509 respaldada por una base de datos en Linux?

2

He estado usando OpenSSL como una autoridad de certificación X.509. Debido a que varias máquinas necesitarán crear certificados, he exportado la carpeta de autoridad de certificación en un sistema de archivos distribuido.

Cuando hago una prueba de esfuerzo de mi CA haciendo cientos de solicitudes de firma de certificados concurrentes, ocasionalmente veo errores extraños como

unable to rename ./index.txt.attr.new to ./index.txt.attr
reason: No such file or directory

No estoy seguro de si esto es un error de OpenSSL o un problema con mi sistema de archivos distribuido, pero usar archivos de texto para contener todos los datos del certificado generalmente parece malo para el acceso concurrente, por lo que prefiero cambiar a una arquitectura más robusta que depurar esto problema particular

Idealmente, me gustaría una autoridad de certificación que almacene su estado en una base de datos adecuada en lugar de archivos de texto. No parece que OpenSSL pueda hacer eso. La documentación para el parámetro de la base de datos en http://www.openssl.org/docs/apps/ca.html#CONFIGURATION_FILE_OPTIONS dice

the text database file to use. Mandatory. This file must be present though initially it will be empty.

¿Alguien podría recomendar una buena autoridad de certificación X.509 de código abierto respaldada por base de datos para Linux?

Anand Patil
fuente
I've exported the certificate authority folder on a distributed filesystem- Uhm, que ?? Eso generalmente contiene la clave privada, que debe mantenerse privada . No hagas eso. De todos modos, ¿para qué son las llaves? ¿Qué sistema operativo son todas las máquinas? Si esta es una red * nix, miraría uno de los módulos de títeres.
Zoredache
Zoredache- no te preocupes, no estoy compartiendo las claves privadas con todos. :) La configuración es más o menos así. Muchos clientes necesitan certificados firmados para obtener acceso a las VPN. Para obtener un certificado, hablan con uno de varios servidores, que son las 'máquinas múltiples' que mencioné. Primero consideré poner a la CA detrás de un único servidor http, pero en las pruebas de estrés descubrí que generar certificados puede convertirse en un cuello de botella. Decidí exportar la CA en un DFS, al que solo los servidores tienen acceso, como una opción de mayor concurrencia. Ahora estoy buscando algo concurrente y robusto.
Anand Patil

Respuestas:

0

Recomiendo OpenCA PKI . Eché un buen vistazo a este tipo de cosas hace un tiempo, y es lo único que se ajusta a la factura. No he sido riguroso, pero el software parece bueno; la documentación, sin embargo, es muy deficiente. Este archivo PDF debería ayudarlo a ponerse en marcha. También tienen un contestador OCSP que puede usar (que aún no he probado).

Probé este software hace un tiempo, pero aún no lo he puesto en producción. Puede ejecutar PostgreSQL o MySQL, y creo que lo habría estado usando con MySQL (mi preferencia) pero no puedo recordarlo. Dejé de usarlo porque me distraía con otros proyectos, no porque el software no funcionara.

Recuerdo estar muy impresionado con OpenCA. (Para que conste, no estoy afiliado al proyecto en absoluto).

Calrion
fuente