reactor-ca
Herramienta CLI en Go para gestionar una Autoridad de Certificación (CA) propia en entornos domésticos o pequeñas oficinas.
Ficha actualizada 18 sept 2026, 21:32 · upstream 19 ene 2026, 12:18 · release v1.0.0-rc.2
Qué es reactor-ca
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
ReactorCA es una herramienta de línea de comandos escrita en Go diseñada para gestionar Autoridades de Certificación (CA) en entornos domésticos (homelab) y pequeñas oficinas (SOHO). Su objetivo principal es facilitar la emisión y renovación de certificados TLS para dispositivos internos sin advertencias, gestionando centralmente las claves privadas con cifrado fuerte mediante el formato age. Esto permite almacenar configuraciones y almacenes de claves en repositorios Git de forma segura, ya que las claves privadas están protegidas por contraseña, claves SSH o tokens de hardware.
La herramienta simplifica el ciclo de vida de los certificados X.509, automatizando tareas como la creación de la CA raíz, la emisión de certificados para hosts específicos y su despliegue en destinos configurados (por ejemplo, routers FritzBox, instancias Proxmox o configuraciones NixOS). Incluye seguimiento de expiración e inventario, permitiendo una gestión proactiva antes de que los certificados caduquen.
Soporta múltiples métodos de protección de claves: derivación de contraseña con scrypt, integración con identidades SSH existentes (Ed25519, RSA) y soporte para tokens de hardware como YubiKey o Secure Enclave a través de plugins age. Es una solución estática, sin dependencias de tiempo de ejecución, ideal para entornos embebidos o servidores ligeros.
- Gestión centralizada de certificados TLS para dispositivos internos en una red doméstica o pequeña empresa.
- Automatización del despliegue de certificados a routers (ej. FritzBox) y servidores virtuales (Proxmox).
- Renovación segura de certificados sin exponer claves privadas, utilizando cifrado age con contraseña o SSH.
- Auditoría e inventario de certificados con seguimiento de fechas de expiración.
- Integración en repositorios Git para mantener la configuración y el almacén de CA versionado y seguro.
- Implementación de infraestructura PKI propia sin dependencias de contenedores ni runtime complejos.
- Cifrado robusto de claves privadas con formato age, compatible con contraseña, SSH y hardware tokens (YubiKey).
- Binario estáticamente compilado en Go sin dependencias externas, facilitando el despliegue en cualquier sistema.
- Despliegue automático a destinos comunes mediante scripts integrados (Bash/PowerShell).
- Gestión completa del ciclo de vida: creación CA, emisión, renovación y rotación de claves.
- Licencia BSD-2-Clause permisiva para uso personal y comercial sin restricciones significativas.
- Soporte nativo para gestión de certificados intermedios y extensión X.509 avanzada.
- Requiere conocimientos básicos de PKI y X.509 para configurar extensiones y dominios correctamente.
- No incluye interfaz gráfica, dependiendo completamente del uso de la línea de comandos.
- El despliegue automático requiere scripts preconfigurados en el archivo hosts.yaml para cada destino.
- Las claves privadas exportadas sin cifrado deben manejarse con extrema precaución de seguridad.
- Dependencia externa de herramientas age-plugin para soporte avanzado de hardware (YubiKey, TPM).
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Descargar binario estático o compilar desde fuente. Inicializar configuración con `ca init`. Editar config/ca.yaml y config/hosts.yaml definiendo dominios y destinos de despliegue. Ejecutar `ca ca create` para generar la CA raíz e instalarla en clientes. Usar `ca host issue <id>` para emitir certificados, opcionalmente con `--deploy` para automatizar la instalación en los servidores objetivo. Asegurar que las claves privadas estén cifradas antes de versionar en Git.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.