CSSignServer
Description
CSSignServer es un producto que integra la firma de documentos PDF para múltiples usuarios con una enterfaz REST simple y sencilla.
Permite la configuración de múltiples templates de firma sobre los documentos que pueden ser utilizados por la interfaz de firma haciendo referencia al deseado.
La interfaz integra las dos funcionalidades princpipales:
Enrollment de Usuario y emisión de certificado
Firma de documentos
Enrollment de Usuario
Para poder realilizar una la firma de un documento es necesario que un usuario sea dado de alta y que el mismo presente su clave de firma en cada operación.
El alta de un usuario y la generación de su clave de firma se realiza por medio de la interfaz REST y autenticado por medio de una API-KEY administrada por el servicio.
Junto a los datos del usuario, que serán utilizados para intergrar el certificado, una clave de idenficicación única de usuario debe ser designada. Esta clave será utilizada, cuanto a la clave de firma, para firmar cualquier documento.
El módulo de AutoEnrollment realiza la tarea de solicitar el certificado a la Autoridad Certificante correspondiente y almacenar el certificado para ser utilizado al momento de firmar en un dispositivo seguro y protegico con la clave de firma del usuario.
Firma de Documento
La interfaz REST que permite al firma de documentos PDF cuenta con los endpoints que permite subir el documento a firmar junto al idenficador del firmante, su clave de firma y el template de firma a aplicar.
En el template se encuentra especificado la posición de la firma y el texto que se mostrará en el documento firmado.
Si la autenticación del usuario es correcta y cuanta con un certificado válido, entonces un documento firmado es devuelto como resultado de la petición.
El servicio de documento PDF se encuentra protegido por una API-KEY diferente a la de servicio de enrollment para garantizar la división de roles.
Distribuciones y arquitectura
CSSign-Server se distribuye como un componente Docker o un servicio.
El siguiente disgrama se pueden distinguir los componentes principales de la solución.
Características de Seguridad
Las siguientes características de seguridad han sido aplicadas en CSSignServer:
Las comunicaciones son realizadas sobre conexiónes encriptadas sobre protocolo HTTPS.
El acceso a los servicios se encuentran protegicos por API-keys administradas desde el servidor, o el servicio de Cognito en el caso de ser un SaaS.
Las claves privadas nunca son expuestas fuera de la solución y se encuentran protegidas individualmente por la clave de firma de cada usuario.
Los documentos firmados nunca son almacenados y son dispuestos de la memoria una vez que han sido firmados exitosamente y retornados en la petición de firma.
Las claves de firmas son enviadas directamente desde la Autoridad Certificante emisora al usuario.
En el caso de la solución provista como servicio:
La comunicación entre cada uno de los elementos se cuentran reguladas por una política de seguridad estricta que solo permite el pasaje de aquellos protocolos necesarios.
El acceso de los operadores se encuentra regulada por la política de dividisión de roles y privilegios que CertiSur aplica para sus servicios.
Una descripción del SLA se encuentra disponible en https://www.certisur.com/legal