Implementación de Firma Digital
Implementación de Proceso de Firma Digital
Resúmen
Araí-Documentos proporciona una serie de servicios públicos para interactuar con aplicaciones que implementen algún mecanismo de firma digital y puedan comunicarse con Araí-Documentos para descargar un documento a partir de una Solicitud de Autorizacion y generar un Proceso de Firma, que va a ser el marco en el que se va Firmar un documento y subir a Arai-Documentos.
Un Proceso de Firma se genera a través de una o mas Solicitudes de Autorización, cada Solicitud corresponde a un documento que se debe descargar y firmar digitalmente. Mediante la Solicitud de Autorizacion el usuario elige que documentos va a Firmar, se genera un Proceso de Firma y mediante el mismo la aplicacion que firma puede descargar los documentos con una url que se provee en el proceso de firma. Cada Documento queda asociado un token (no confundir con el dispositivo físico) mediante el cual se puede subir un documento firmado.
Requisitos
- Requiere un frontend (SIUDocumentos Bundle) donde el usuario pueda disparar un Proceso de Firma a partir de una o muchas [Solicitudes de Autorización](#Solicitud de Autorización)
- Además de todos los requisitos dispuestos en [Proceso de Autorización desde Aplicaciones](#Proceso de Autorización desde Aplicaciones)
Depende de la aplicacion de firma que se implemente:
- [FirmAR](#Implementacion de Firma Digital: FirmAR)
- [SIU Firmador](#Implementacion de Firma Digital: SIU Firmador)
Limitaciones
El mecanismo de firma que proporciona Arai-Documentos, es uno solo, y depende de la impementación de cada sistema/aplicación que implemente Firma Digital.
Arai-Documentos aun no proporciona Firma Electrónica de documentos, y aún no proporciona un mecanismo mediante el cual validar contra la Autoridad Raíz las firmas sobre los documentos para saber si las mismas son validas.
Implementación
Caso |
---|
Caso 1 Desde la bandeja de solicitudes (Huarpe SIUDocumentos Bundle o la implementación que corresponda) el Usuario puede visualizar todas las Solicitudes de Autorización que tiene pendientes. Se descarga el listado de las mismas y el Usuario selecciona una o varias solicitudes para generar un Proceso de Firma mediante el cual se firmara digitalmente el Documento. |
GET /backend/autorizacion/solicitudes
REQUEST
Campos obligatorios (Query Param)
Nombre | Tipo | Descripcion |
---|---|---|
id_usuario_sso | string | Identificar del Usuario, debe existir en Arai-Usuarios y corresponde al Usuario al cual se enviaron [Solicitudes de Autorización](#Solicitud de Autorización) |
RESPONSE
{
"header": {
"tipo_firma": "siu"
},
"listado": [
{
"solicitud": "string",
"documento_titulo": "string",
"documento_descripcion": "string",
"creacion": "string",
"rol": "string",
"situacion": "int",
"situacion_descripcion": "string",
"acciones": "firma",
"referencia_interna": {},
"identificador": {}
}
]
}
Nombre | Tipo | Descripcion |
---|---|---|
tipo_firma | String | No utilizado |
listado | Array | Listado de Solicitudes de Autorización |
solicitud | string | Identificador del documento en Araí-Documentos |
documento_titulo | string | Título del documento creado |
documento_descripcion | string | Descripción del documento creado |
creacion | string | Fecha de Solicitud |
rol | string | Rol del autorizante de esta Solicitud de Autorización, puede ser "Confirmante Opcional" o "Confirmante Necesario". Por el momento solo se usa internamente |
situacion | int | Corresponde al estado de la solicitud enviada, en este servicio solo se deberían recibir solicitudes en estado "1" que corresponde a una solicitud pendiente |
situacion_descripcion | string | Descripción del campo anterior: "Pendiente" |
acciones | string | Indica tipo de firma que puede realizarse sobre el documento relacionado a la Solicitud: 'firma' en este caso |
referencia_interna | json | Objeto json enviado por la aplicación de orígen para identificar al documento |
identificador | Json | Corresponde a un identificador del documento. Por ejemplo tipo, número y año |
POST /backend/autorizacion/proceso-firma
REQUEST
Campos obligatorios (Body Json)
Nombre | Tipo | Descripcion |
---|---|---|
tipo | string | Los valores posibles son 'siu' y 'firmar', depende si se quiere implementar la aplicación de firma del SIU o la solución de FirmAR |
solicitudes | array | Listado de [Solicitudes de Autorización](#Solicitud de Autorización), solo se enviara el string correspondiente al identificado de la solicitud |
url_retorno_de_firmar | string | Solo utilizado para el caso de FirmAR |
{
"tipo": "siu|firmar",
"solicitudes": [
"string"
],
"url_retorno_de_firmar": "string" //Opcional, Se utiliza solo para firmAR.gob.ar
}
RESPONSE
Recibe la siguiente respuesta en formato json
{
"tipo": "firmar|siu",
"url_firmador": "string"
}
Nombre | Tipo | Descripcion |
---|---|---|
tipo | string | Los valores posibles son 'siu' y 'firmar', depende si se quiere implementar la aplicación de firma del SIU o la solución de FirmAR |
url_firmador | string | La url contiene un redireccionamiento o descarga de archivo segun el tipo de firma que se este ejecutando: - En el caso de FirmAR se redireccionara a esta url el frontend - En el caso de Firmador SIU se descarga un archivo para ejecutar la aplicación del firmador |
En este punto el circuito del Proceso de Firma continúa dependiendo del tipo de Firma que se implemente.