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?
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.Respuestas:
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).
fuente