Este es un ejemplo de la implementación del componente de firma electrónica utilizando certificado y llave privada, el objetivo es ilustrar la forma en la cual debe ser implementado el componente para los distintos sistemas.
El componente está basado en tecnología HTML5 y resulta agnostico para la tecnología del sistema en el que se integre.
Para realizar la firma electrónica se debe seleccionar el certificado, llave privada e indicar la contraseña.
El texto encontrado dentro del área de texo, es la cadena original que será firmada.
Versión del componente: V0.1.0
Estado del componente: En desarrollo
A continuacíon se indican los parametros que son requeridos para realizar el firmado de cadenas de texto.
Por estandar y seguridad de la firma, los datos privados del usuario no deben ser enviados al srvidor como parte de la firma, los campos que no serán enviados se identifican puntualmente.
El acceso a los servicios de firmado se encuentran protegidos por la autenticación de usuarios.
Para autenticarse con los procesos es necesario implementar BASIC AUTHENTICATION con usuario y contraseña
Nombre | Tipo de campo | Descripción |
---|---|---|
BASIC AUTHENTICATION | Elemento de seguridad | La peticion debe contar con los encabezados de seguridad o en caso contrario, solicitará se autentique |
usuario | Elemento de seguridad | Identifica al usuario o aplicación que está accediendo al recurso. |
contraseña | Elemento de seguridad | Elemento de autenticación, que demuestra que el usuario es quien dice ser. |
*Todos los campos deben formar parte de la forma.
Nombre | Tipo de campo | Descripción |
---|---|---|
METHOD | POST | La forma debe ser envíada a traves del método POST |
ACTION | validaFirmaCadenaPkcs1 | Dirección destino donde se debe envíar el formulario |
certI | File | Campo donde se carga el certificado, este campo no es enviado al servidor |
keyI | File | Campo donde se carga la llave privada, este campo no es enviado al servidor |
keyP | Text | Campo donde se captura la contraseña de la llave privada, este campo no es enviado al servidor |
documento | Text, TextArea, Hidden | Campo donde se indica el texto que va a ser firmado durante el proceso de firma |
signText | Hidden | Campo oculto donde se deposita el resultado de la firma |
certText | Hidden | Campo oculto donde se depostia el PEN del certificado del usuario |
shaText | Hidden | Campo oculto que contiene el HASH calculado del documento |
infra | Hidden | Campo oculto que indica la infraestructura que se desea
utilizar, en caso que no se envíe se utilizará la infraestructura
default Infraestruturas disponibles:
|
A continuación se indican los valores de respuesta una vez realizada y validada la firma.
Nombre | Descripción |
---|---|
estado | Indica el estado de la validación de la firma, si indica algun error es posible que el resto de los campos no sean parte de la respuesta.
|
tipoFirma | Indica el tipo de firma que fue realizado, ej PKCS1 |
tipoSha | Indica el algoritmo que se uso para para obtener el HASH |
tipoInfraestructura | Indica la infraestructura donde se realizo la verificación |
descripcion | Despliega el mensaje del servidor, en caso de haber alguno. |
cadenaOriginal | Texto original contra el que se valida la firma. |
shaCadenaOriginal | SHA que corresponde a la cadena original. |
certificado | Certificado que se utilizo para validar la firma. |
Serie | Número de serie del certificado que se utilizo para validar la firma. |
certificado | Certificado que se utilizo para validar la firma. |
firma | Resultado de aplicar la firma al HASH de la cadena original. |
ocsp | Respuesta del OCSP de la validacion del certificado, en caso que no se tenga contenido indica que la plataforma no realizo la validación. |
selloTiempo | Sello de tiempo obtenido durante la validación de la firma electrónica, en caso que no se tenga contenido indica que la plataforma no recupero el sello de tiempo. |