Last Updated:

SSL + Domino v12 = Certification Manager

OpenNTF ha organizado un webinar donde explica como usar la nueva funcionalidad de gestión de certificado SSL.

El webinar esta por aquí: https://www.openntf.org/main.nsf/blog.xsp?permaLink=JGAR-C3SHEF

Las respuestas a las preguntas están aquí: https://www.openntf.org/main.nsf/blog.xsp?permaLink=GACS-C4GQWR

Las diapositivas de la presentación esta por aquí: https://www.openntf.org/webinars

 

Daniel Nashed (https://blog.nashcom.de/) es HCL Lifetime Amabassador por su conocimiento de la plataforma y sus continuas aportaciones a la comunidad. El nos presenta como manejar los certificados SSL dentro de Domino v12.

Domino v12 es la primera iteración completa de desarrollo de los equipos de HCL.

Las metas alcanzadas con Domino v12 son:

  • Simplificación del manejo de los certificados de seguridad en Domino
  • Quitar la necesidad de herramientas externas como OpenSSL para un uso con líneas de comandos para crear llaves y convertir certificados
  • Reemplazar los ficheros .kyr con el formato estandar *.pem
  • Integración completa de heramientas del tipo Let's Encrypt 
  • Permitir el despliegue automatizado, con seguridad, en un dominio de "credenciales TLS"
  • Dar soporte al algoritmo estándar ECDSA (https://es.wikipedia.org/wiki/ECDSA) junto a RSA

Como lo han hecho:

  • Usando una tarea nativa de Domino y filtros DSAPI ("Domino web server application programming" - interface escrito en C/C++)
  • Usando la API de Notes existente y añadiendo más funcionalidades
  • Implementando el protocolo ACME v2 (RFC 8555) usado por Let's encrypt

ACME (https://en.wikipedia.org/wiki/Automated_Certificate_Management_Environment) significa "Automatic Certificate Management Environment" y es un protocolo de comunicaciones para automatizar las interacciones entre autoridades de certificaciones y los servidores web, permitiendo el despliegue automatizado de claves publicas. Usa JSON sobre https.

HCL ha producido su propia implementación gracias a la combinación de estándares diversos (JSON, libCurl, JWS, Cryptografia de Notes con PEM, RSA, ECDSA).

  • Esta pensado para una automatización del proceso de despliegue de los certificados.

Nueva base de almacén de certificados: CertStore.nsf

  • Es la base de datos valida para el dominio Domino entero y creada por la tarea CertMgr
  • Base de datos securizada, que automatiza el despliegue de los credenciales TLS y las claves privadas.
  • Contiene las claves privadas encriptadas con el ID del servidor donde se tiene acceso, limitando el acceso a este servidor -campo 'Servidor con acceso' en documento de servidor (y eso aunque se replique la base de datos).
  • Interfaz moderna
     
  • CertMgr esta implementado en W64 y Linux64 (no hay tarea de servidor en otras plataformas).

AIX y OS400 pueden usar el certstore.nsf y el nuevo cache de TLS creando un replica en manual.

Paso 1: creación de certstore.nsf en el servidor de administración

  • El primero servidor que arranca la tarea de servidor "certmgr", se auto-configura como el servidor de "CertMgr"
La tarea se levanta, y verifica en el documento de directorio del servidor si existe ya un servidor para esta tarea. Si no existe lo rellena con el servidor actual y crea certstore.nsf, si esta rellenado con el nombre de otro servidor, lo actualiza para extender CertMgr en el dominio.
  • Arrancar la tarea certmgr en un servidor adicional, crea una replica de certstore.nsf.

Cada servidor adicional actúa como un cliente CertMgr y replica la base de datos cada 2 minutos.

Guardar la tarea CertMgr levanta es una decisión opcional de confort.

Se puede elegir una configuración de replicación otra (con un tiempo de replica corto).

Paso2. certstore.nsf - Credenciales TLS

Los credenciales TLS (Seguridad de la capa de transporte) agrupan a la clave privada + certificados de entidad final  + certificados intermedios + certificados raíz.

Esos credenciales se guardan ahora en el certstore.nsf en vez del fichero *.kyr, en el formato PEM (que es texto en base64).

Esos credenciales se pueden crea de manera manual o con el protocolo ACME (el más conocido es Let's Encrypt).

Los certificados raíces se configuran en la segunda pestaña del documento de "TLS Credentials" (antes figuraban en el fichero *.kyr).

paso 3: certstore.nsf - certificado raíz