Saltar al contenido principal

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
ProcesoFirma1
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)

NombreTipoDescripcion
id_usuario_ssostringIdentificar 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": {}
}
]
}
NombreTipoDescripcion
tipo_firmaStringNo utilizado
listadoArrayListado de Solicitudes de Autorización
solicitudstringIdentificador del documento en Araí-Documentos
documento_titulostringTítulo del documento creado
documento_descripcionstringDescripción del documento creado
creacionstringFecha de Solicitud
rolstringRol del autorizante de esta Solicitud de Autorización, puede ser "Confirmante Opcional" o "Confirmante Necesario". Por el momento solo se usa internamente
situacionintCorresponde 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_descripcionstringDescripción del campo anterior: "Pendiente"
accionesstringIndica tipo de firma que puede realizarse sobre el documento relacionado a la Solicitud: 'firma' en este caso
referencia_internajsonObjeto json enviado por la aplicación de orígen para identificar al documento
identificadorJsonCorresponde a un identificador del documento. Por ejemplo tipo, número y año

POST /backend/autorizacion/proceso-firma

REQUEST

Campos obligatorios (Body Json)

NombreTipoDescripcion
tipostringLos valores posibles son 'siu' y 'firmar', depende si se quiere implementar la aplicación de firma del SIU o la solución de FirmAR
solicitudesarrayListado de [Solicitudes de Autorización](#Solicitud de Autorización), solo se enviara el string correspondiente al identificado de la solicitud
url_retorno_de_firmarstringSolo 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"
}
NombreTipoDescripcion
tipostringLos 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_firmadorstringLa 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.