Sigue este manual para que puedas generar paso a paso tus Sellos digitales. Si estás listo para empezar a facturar electrónicamente, uno de los primeros pasos es obtener tu Certificado de Sello Digital (CSD).
¿Qué es un Certificado de Sello Digital (CSD)?
Un Certificado de Sello Digital o por tus siglas CSD, es un certificado necesario para generar CFDIs en servicios de facturación electrónica distintos al portal de Mis Cuentas del SAT. Los CSD son necesarios para que puedas emitir tus facturas electrónicas correctamente. El Certificado de Sello Digital (CSD) es un conjunto de archivos digitales que te permiten generar facturas electrónicas con proveedores autorizados de facturación. Aunque el CSD y la E.firma (anteriormente conocida como FIEL) pueden parecer similares, tienen funciones distintas.
Paso a Paso: Obtención de tu Certificado de Sello Digital (CSD)
Para generar tu CSD, necesitas instalar el programa Certifica del SAT. Necesitas una firma electrónica vigente.
1. Descarga e Instalación de Java
Para la ejecución del programa Certifica, es fundamental tener Java instalado. Busca en tu Windows "acerca de tu PC" y ve si tu equipo tiene un sistema de 32 o 64 bits. Descarga la versión según tu sistema. Accede a tu cuenta de Java o crea una si todavía no la tienes. Ejecuta Java dando doble clic en el archivo .exe. Finalmente da clic en instalar.
2. Generar la Solicitud de Sellos en la Aplicación CERTIFICA
Descarga la aplicación CERTIFICA. Para ejecutar CERTIFICA ve a descargas, da clic derecho en el archivo .rar y dale abrir con Java Platform SE. Una vez que abriste la aplicación Certifica, tienes que seleccionar la opción Solicitud de Certificados de Sello Digital CSD. Una vez abierta la aplicación CERTIFICA busca y selecciona el archivo .cer de tu eFirma. En esta sección tienes que seleccionar el Certificado (.cer) de la FIEL (Firma Electrónica Avanzada). Si aún no cuentas con este certificado, puedes solicitarlo. En la primer pantalla presionamos el botón “Seleccionar Archivo” para cargar el .CER de nuestra Firma Electrónica (eFirma antes FIEL). Selecciona el archivo .cer, haz clic en abrir y después continúa con el proceso haciendo clic en el botón Siguiente.
Lea también: Java y Declaración Anual
Verifica que la eFirma corresponda a la empresa deseada y captura una contraseña alfanumérica. En la segunda pantalla, debes agregar el nombre de la sucursal o unidad que usará este certificado de sello digital. Asigna un nombre a tu CSD, según su uso (ejemplo: FACTURACIÓN, NÓMINAS, etc.). Crea una contraseña (puede ser la misma de la firma electrónica o una nueva). La contraseña puede ser diferente a la que usaste para la eFirma. Te sugerimos anotar esta contraseña. En este paso también tendrás que asignar la contraseña que tendrá el certificado. Es importante mencionar que esta será la contraseña de nuestro CSD por lo que debemos apuntarla en un lugar seguro para recordarla en el futuro. Recuerda que tu contraseña es muy importante pues la necesitarás al momento de generar tus facturas.
El sistema te pedirá mover el mouse para generar los archivos. A continuación debes mover el mouse en diferentes direcciones hasta que la barra se complete al 100%. En la siguiente pantalla deberemos mover nuestro mouse rápidamente por toda nuestra pantalla hasta que se llene la barra al 100%. Una vez terminado se mostrará la siguiente pantalla de forma automática. Cuando completes los campos haz clic en en botón Firmar y Guardar. Al darle clic en 'Firmar y Guardar', se abrirá una ventana, la cual será para guardar la solicitud de generación de CSD. Define la ruta donde prefieras guardar los archivos generados (.sgd y .key de los Sellos Digitales) en tu computadora. Es necesario ubicar donde queremos guardar dicho archivo, se recomienda sea en un lugar de fácil acceso ya que se necesitará más adelante. Después haz clic en el botón Guardar. Se mostrará un mensaje informativo confirmando que la solicitud de CSD se ha generado con éxito. Listo! Se ha guardado los archivos .key y .sdg, éste último deberás enviarlo en la página CERTISAT. Al terminar con este proceso en la aplicación Certifica haz clic en el botón Terminar para continuar con la obtención de Sellos Digitales en el sistema del CertiSAT. Luego, podrás proceder con el envío de la solicitud a través de la página de internet 'CertiSAT'.
3. Enviar Solicitud y Descargar Sello Digital desde CertiSAT
Una vez generada la solicitud, es necesario enviarla a través de la plataforma 'CertiSAT'. Para acceder, abre un navegador de internet como Google Chrome, Firefox o Edge y busca 'CertiSAT'. Al ingresar a la página, se abrirá una sección donde deberás autenticarte con tu firma electrónica (FIEL/e.firma). Una vez dentro, se mostrará un menú con varias opciones de trámites.
Ingresa a la página de CERTISAT para enviar solicitud de sellos y descargar el sello digital. Una vez que ingresaste a la plataforma CertiSAT selecciona la opción Envío de solicitud de Certificados de Sello Digital. Selecciona la opción "envío de solicitud de sello digital" y busca en tu computadora el archivo .sdg que previamente creaste en la aplicación CERTIFICA. Haz clic en Seleccionar Archivo. Selecciona el archivo (.sdg) que generaste previamente en Certifica y guardaste en tu computadora. Haz clic en la opción localizar, abrir y después Enviar requerimiento. Una vez cargado el archivo, haz clic en 'Enviar requerimiento'.
Una vez enviado el requerimiento, se mostrará un mensaje indicando que la solicitud está en proceso. Una vez que enviaste el archivo (.sdg) debes esperar a que se active tu Certificado (Aproximadamente tarda 4 horas). Nota: El Certificado de Sello Digital (CSD) puede tardar hasta 72 horas en activarse en la Lista de Contribuyentes Obligados (LCO) del SAT. Para dar seguimiento al envío de la solicitud, accede a otro menú dentro de la misma página. Después del tiempo transcurrido, ingresa nuevamente al CertiSAT, haz clic en la opción de Recuperación de Certificados, selecciona Todos los Certificados Expedidos llena el RFC y haz clic en la opción Buscar. En el menú 'Recuperación de Certificados', ingresa tu RFC en el campo correspondiente para buscar los certificados. Listo! Una vez subido el archivo .sdg te dará un acuse de recibido y en algunos minutos podrás descargar el archivo .cer en la opción "Recuperación de certificados". Al hacer clic en el número de serie, el archivo se descargará automáticamente con un icono de diploma.
Lea también: Comparación de plataformas: Java y Low-Code
Integración del CSD en Sistemas de Facturación Electrónica
Recuerda que el sello digital para facturar está integrado de tu certificado (archivo .cer), el archivo .key y la contraseña que capturaste en el programa CERTIFICA. Los archivos que deben cargarse al sistema son los del CSD (Certificado del Sello Digital), no los de la FIEL. Una vez que tengas tu CSD, regístrate en Munzen para empezar a facturar. ¡Regístrate en Munzen y obtén 5 facturas gratis! Empieza a facturar sin costo y sin complicaciones.
Para subir los archivos del CSD (Certificado de Sello Digital) a Contadigital®, ya sea por configuración inicial o por renovación, se requiere: Ingresar a Menú>facturación>configurar CFDI>Parámetros generales>Datos generales. Dar clic en el botón editar de la parte superior derecha de la pantalla. Si es la primera ocasión que se están configurando los parámetros generales, deberás capturar los datos generales de la empresa. Subir los archivos "Certificado(.cer):" y "Llave privada(.key):". Para subir estos archivos el nombre debe tener como máximo 50 caracteres incluidas las extensiones .CER y .KEY. La extensiones .CER y .KEY no deben ser eliminadas a fin de evitar errores. Copiar y pegar la contraseña guardada, que corresponda a los archivos del CSD que se subieron. Antes de editar el nombre de los archivos recomendamos crear una copia de ellos para evitar que se dañen en caso de borrar accidentalmente las terminaciones .CER y .KEY.
¿Contadigital® me avisa del vencimiento de mi sello? Si, el sistema envía un aviso por correo 30 y 7 días antes del vencimiento.
Implementación del Sello Digital en Java para Facturación Electrónica
El objetivo de esta entrada es explicar cómo crear un sello digital para la facturación electrónica. Tuve problemas para poder crearlo, mi primer problema fue el poder leer la llave privada que te da el SAT, ya que esta viene encriptada con un password y encontré poca información de cómo leerla en java.
Lo primero que hay que hacer es generar la cadena original, la creación de esta cadena esta especificada en el anexo 20 de la Resolución Miscelánea Fiscal inciso D. Esta es una cadena formada con los datos de la factura, estos datos están separados por el carácter pipe ”|”, y se inicia y finaliza esta cadena con un doble pipe “||”.
Lea también: Configuración de IVA en Java
Ya que tenemos la cadena original lo siguiente es pasarla por un algoritmo de digestión como es el MD5, y el resultado pasarlo por un algoritmo de encriptación RSA, estos dos pasos se pueden hacer en uno solo con el API de Java. Para esto lo primero que necesitamos es la clave privada (archivo.key) que nos proporcionó el SAT junto con su password. Esta clave esta codificada según el estándar PKCS8 en formato DER. Además esta clave esta encriptada con un password.
Para poder desencriptarla utilizaremos la librería commons-ssl de apache. Donde clavePrivada es un arreglo de bytes que contiene la clave privada. Lo siguiente que hay que hacer es obtener el objeto que codificará en MD5 y RSA nuestra cadena, e inicializarlo con la clave privada este es java.security.Signature. Donde pk es la clave privada que obtuvimos. Y obtenemos el arreglo de bytes con la cadena original encriptada. A continuación se codifica en base 64 la cadena para poder obtener caracteres imprimibles con el objeto sun.misc.BASE64Encoder.
