Certificado digital FNMT para Veri*Factu: obtención y configuración
Todo lo que necesitas saber sobre el certificado FNMT para enviar facturas a la AEAT: cómo solicitarlo, exportarlo en formato .pfx y subirlo a tu programa de facturación.
¿Qué certificado necesito para Veri*Factu?
Para enviar facturas a la AEAT a través de Veri*Factu necesitas un certificado digital de persona física o jurídica emitido por una entidad de certificación reconocida. El más habitual en España es el de la FNMT-RCM (Fábrica Nacional de Moneda y Timbre).
El formato requerido es PKCS#12 (.pfx o .p12): un fichero que contiene tanto el certificado público como la clave privada, protegido por una contraseña.
Tipos de certificado FNMT válidos
- Certificado de Persona Física: para autónomos que facturan a título personal. Identificado por tu DNI/NIE.
- Certificado de Representante de Persona Jurídica: para administradores de SL/SA que facturan en nombre de la empresa. Identificado por el CIF de la empresa.
- Certificado de Sede Electrónica / Empleado Público: no válido para Veri*Factu comercial.
Cómo obtener el certificado FNMT (persona física)
- Accede a sede.fnmt.gob.es y solicita el certificado de Persona Física.
- Anota el código de solicitud que recibes.
- Acredita tu identidad en una oficina de la AEAT, Seguridad Social o ayuntamiento adherido (presencialmente con DNI).
- Una vez acreditado, descarga e instala el certificado en el mismo navegador/dispositivo donde hiciste la solicitud.
- Exporta el certificado en formato .pfx desde el almacén del navegador (ver sección siguiente).
Cómo exportar el certificado a .pfx
En Windows (desde el navegador Edge/IE o el almacén de certificados)
- Abre el Administrador de certificados (Win+R →
certmgr.msc). - Ve a Personal → Certificados, localiza el tuyo y haz clic derecho → Exportar.
- Elige Exportar la clave privada → siguiente.
- Selecciona formato PKCS#12 (.pfx), marca "Incluir todos los certificados" y establece una contraseña segura.
- Guarda el fichero .pfx.
Certificados legacy (RC2-40-CBC) y OpenSSL 3
Los certificados FNMT emitidos antes de ~2023 usan el algoritmo de cifrado RC2-40-CBC, no compatible con OpenSSL 3 (Node.js 18+). Si al subirlo recibes el error "Unsupported PKCS12 PFX data", conviértelo:
# Extraer con soporte legacy
openssl pkcs12 -legacy -in antiguo.p12 -passin pass:TU_CONTRASEÑA -nodes -out /tmp/cert.pem
# Re-exportar con AES-256
openssl pkcs12 -export -in /tmp/cert.pem -out moderno.pfx -passout pass:TU_CONTRASEÑA
# ¡Importante! Eliminar el PEM sin cifrar
rm /tmp/cert.pem
Cómo verificar que el certificado es correcto
openssl pkcs12 -info -in certificado.pfx -passin pass:TU_CONTRASEÑA -noout
# Debe mostrar: PBES2, PBKDF2, AES-256-CBC (formato moderno)
# Si muestra: pbeWithSHA1And40BitRC2-CBC → necesita conversión
Extraer tu NIF del certificado
openssl pkcs12 -legacy -in certificado.p12 -passin pass:PASS \
-nokeys -clcerts 2>/dev/null \
| openssl x509 -noout -subject
# Subject: ..., serialNumber=IDCES-Z0706098A, ...
# Tu NIF es el valor tras "IDCES-"
Subir el certificado a Simple*Factu
Una vez tienes el .pfx en formato moderno, sube en Ajustes → Veri*Factu → Certificado digital. El sistema lo almacena cifrado y lo usa automáticamente para cada envío a la AEAT. No necesitas volver a subirlo a menos que caduque o lo renueves.
¿Cuándo caduca el certificado?
Los certificados FNMT de persona física tienen una validez de 4 años. Recibirás un aviso por email antes de la caducidad para renovarlo. La renovación puede hacerse online desde el propio navegador si el certificado aún está vigente.
¿Listo para cumplir con Veri*Factu?
Simple*Factu es la API y aplicación que gestiona el envío de facturas a la AEAT por ti. Empieza gratis.
Crear cuenta gratis