Implementación de referencia de firma electrónica con PKCS7


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



Documentación

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:
  • ADVANTAGE

Documentación de respuesta

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.
  • 0, indica que la firma es correcta.
  • Cualquier otro numero indica que la firma no es correcta.
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.

Dudas o comentarios enviarlos a: aafarias@uttab.edu.mx

Secretaría de Economía 2016