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.
*Todos los campos deben formar parte de la forma.
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. |