Elementos utilizados en la generación de Sellos Digitales:
- Cadena Original del elemento a sellar.
- Certificado de Sello Digital y su correspondiente clave privada.
- Algoritmos de criptografía de clave pública para firma electrónica avanzada.
- Especificaciones de conversión de la firma electrónica avanzada a Base 64.
Para la generación de sellos digitales se utiliza criptografía de clave pública aplicada a una cadena original.
Los algoritmos utilizados en la generación de un sello digital son los siguientes:
- SHA-2 256, que es una función hash de un solo sentido tal que para cualquier entrada produce una salida compleja de 256 bits (32 bytes) denominada "digestión".
- RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del
mensaje. - RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del
mensaje.
¿Qué es la cadena original?
Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del comprobante fiscal digital por Internet, construida aplicando las siguientes reglas.
Reglas Generales:
- Ninguno de los atributos que conforman al comprobante fiscal digital por Internet debe contener el carácter | (pleca) debido a que éste es utilizado como carácter de control en la formación de la cadena original.
- El inicio de la cadena original se encuentra marcado mediante una secuencia de caracteres || (doble pleca).
- Se expresa únicamente la información del dato sin expresar el atributo al que hace referencia. Esto es, si el valor de un campo es "A" y el nombre del campo es "Concepto", sólo se expresa |A| y nunca |Concepto A|.
- Cada dato individual se debe separar de su dato subsiguiente, en caso de existir, mediante un carácter | (pleca sencilla).
- Los espacios en blanco que se presenten dentro de la cadena original son tratados de la siguiente manera: a. Se deben reemplazar todos los tabuladores, retornos de carro y saltos de línea por el carácter espacio (ASCII 32). b. Acto seguido se elimina cualquier espacio al principio y al final de cada separador | (pleca). c. Finalmente, toda secuencia de caracteres en blanco se sustituye por un único carácter espacio (ASCII 32).
- Los datos opcionales no expresados, no aparecen en la cadena original y no tienen delimitador alguno.
- El final de la cadena original se expresa mediante una cadena de caracteres || (doble pleca).
- Toda la cadena original se expresa en el formato de codificación UTF-8.
- El nodo o nodos adicionales se integran a la cadena original como se indica en la secuencia de formación en su numeral 10, respetando la secuencia de formación y número de orden del ComplementoConcepto.
- El nodo o nodos adicionales se integra al final de la cadena original respetando la secuencia de formación para cada complemento y número de orden del Complemento
- El nodo Timbre Fiscal Digital del SAT se integra posterior a la validación realizada por un
proveedor autorizado por el SAT que forma parte de la Certificación Digital del SAT. Dicho nodo
no se integra a la formación de la cadena original del CFDI, las reglas de conformación de la
cadena original del nodo se describen en el Rubro III.B. del presente anexo.
Secuencia de Formación:
La secuencia de formación siempre se registra en el orden que se expresa en el apartado correspondiente a cada uno de los comprobantes fiscales, complementos y del timbre fiscal digital del SAT, tomando en cuenta las reglas generales expresadas en el párrafo anterior.
Para más información consulte el anexo 20 del SAT página 54.
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/cfdv33.pdf
Comentarios