como puedo proponer un sistema que valide que un documento fue firmado con la firel, la suprema corte diene alguna API?
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Aquí tienes una guía técnica y práctica para proponer un sistema que valide si un documento fue firmado con la FIREL (Firma Electrónica Certificada del Poder Judicial de la Federación) o con una firma electrónica avanzada como la e.firma/FIEL:
🧾 1. Qué es la FIREL y su reconocimiento legal en México
-
La FIREL es la firma electrónica certificada emitida por el Poder Judicial de la Federación, reconocida legalmente para tramitar promociones y documentos judiciales.
-
Legalmente se considera una firma electrónica avanzada, similar o equivalente a la e.firma (antes FIEL), lo que permite identificar al firmante y verificar si el contenido ha sido alterado.
-
No existe un documento único global de especificación tipo “norma” pública del API de la Suprema Corte o del PJF para validación automática, al menos no públicamente documentado como servicio web estándar.
🛠️ 2. ¿Qué opciones técnicas tienes para validar firmas?
A. Validación sobre el archivo firmado (a nivel criptográfico)
Un documento PDF o similar firmado electrónicamente lleva en su estructura:
-
Hash del documento
-
Firma digital (firma criptográfica)
-
Certificado digital asociado (el que firma)
Puedes validar un PDF firmado con librerías estándar, sin depender de un servicio externo:
✅ Proceso general:
-
Extraer la firma del PDF (hash y certificado).
-
Verificar la firma criptográfica (que el documento no fue modificado).
-
Verificar el certificado
-
Que esté dentro de su periodo de validez.
-
Que no esté revocado (consultando listas de revocación CRL u OCSP).
-
-
Confirmar que el certificado pertenece a un emisor confiable:
-
SAT (e.firma)
-
PJF (FIREL)
-
O cualquier otro prestador que tu tribunal reconozca
-
📌 Esto se logra con librerías como: iText, PDFBox, DSS (Digital Signature Services), etc.
Este método no depende de una API específica del tribunal, solo de la criptografía y estándares PDF/PAdES.
B. Validación usando API de terceros compatibles con México
Aunque la SCJN/PJF no ofrece una API pública oficial documentada para validar firmas FIREL, sí hay proveedores que ofrecen APIs para verificar firmas electrónicas avanzadas en documentos, incluyendo e.firma y en algunos casos FIREL:
📌 Ejemplos de proveedores con APIs:
-
Verificamex — API de firma electrónica que soporta e.firma y certificados tipo FIREL.
-
Puedes integrar un servicio web en tu sistema que valide documentación firmada electrónicamente.
-
-
eFirma.com — plataforma con API para integraciones de firma electrónica y validación.
Estos servicios te permiten:
✔ Validar la firma
✔ Verificar identidad del firmante
✔ Obtener constancias de validez técnica y legal
✔ Integrar desde tu sistema con llamadas REST
⚠️ Son servicios de proveedores comerciales, no directamente de la Suprema Corte o el PJF.
🔍 3. Validación de la vigencia de certificados
Incluso si validas la firma en el documento, es importante saber si el certificado con el que se firmó no ha sido:
-
Revocado
-
Expirado
Esto se hace consultando listas de revocación (CRL) o servicios OCSP que provee la autoridad certificadora (SAT en caso de e.firma, y la infraestructura del PJF en caso de FIREL).
Un esquema técnico sería:
PDF firmado → Extraer certificado → Consultar OCSP/CRL → Verificar estatus → Conclusión
🧠 4. Recomendaciones para tu propuesta al tribunal
Aquí tienes un esquema profesional para tu presentación:
🧩 Arquitectura sugerida
-
Componente de recepción de documentos
-
Recibe documentos electrónicos firmados.
-
-
Motor de verificación de firmas
-
Usa librerías de criptografía y PAdES (PDF estándar para firmas).
-
Extrae datos (firma, certificado, hash).
-
-
Gestión de certificados confiables
-
Lista de CAs aceptadas (SAT, PJF).
-
Actualizaciones de listas de revocación.
-
-
API de validación (local o pública para uso interno)
-
Endpoint como:
POST /firma/validar
→ Devuelve:válida/ inválida, motivo, datos del firmante, vigencia del certificado.
-
-
Registro de auditoría
-
Guarda evidencias, logs, y resultados (por seguridad y traceabilidad).
-
📌 Beneficios de esta solución
✔ Independencia de servicios externos no controlados
✔ Cumple estándares de firma digital reconocidos internacionalmente
✔ Escalable para integrar juicios en línea o dependencias hermanas
✔ Transparencia técnica y legal
📌 En resumen
| Necesidad | ¿Existe API del SCJN/PJF? | Solución recomendada |
|---|---|---|
| Validar que un documento fue firmado con FIREL o e.firma | ❌ No hay API pública estándar oficialmente documentada | ✔ Validación criptográfica local + proveedor de servicios de certificación |
| Verificar vigencia de certificado | Depende de OCSP/CRL de la autoridad certificadora | ✔ Integración OCSP/CRL en tu sistema |
| Integrar validación vía API | ❌ Oficial no pública | ✔ Uso de APIs comerciales compatibles |
🧩 Próximos pasos para ti
📍 Probar validación con librerías de PDF
📍 Evaluar proveedores API de firma electrónica compatibles
📍 Definir políticas de certificación aceptables con el tribunal
📍 Preparar prototipo y métricas de validación automáticas
Si quieres, puedo darte ejemplos de código (PHP, Python o JavaScript) para validar firmas electrónicas en PDF y mostrarte cómo conectarlo con un servicio OCSP/CRL en vivo. ¿Qué lenguaje estás usando para tu sistema?
Perfecto 👌 considerando que trabajas en PHP (y ya manejas PDO, MVC y módulos en tu sistema del juzgado), te explico cómo podrías implementar un validador de documentos firmados con FIREL o e.firma en PHP de manera técnica y formal para tu propuesta.
📌 1️⃣ ¿Qué necesitas validar exactamente?
Cuando un PDF está firmado electrónicamente (FIREL o e.firma), debes verificar:
-
✔ Que el documento no fue alterado (integridad).
-
✔ Que la firma corresponde al documento (validación criptográfica).
-
✔ Que el certificado es válido (vigente).
-
✔ Que el certificado fue emitido por una autoridad reconocida:
-
Poder Judicial de la Federación (FIREL)
-
Servicio de Administración Tributaria (e.firma)
-
⚠ Importante:
No existe una API pública oficial del PJF o de la Suprema Corte de Justicia de la Nación para validar automáticamente documentos firmados con FIREL.
La validación debe hacerse con estándares criptográficos (PAdES / PKCS7).
🏗 2️⃣ Arquitectura recomendada para tu juzgado
Dado que tú desarrollas en PHP, te recomiendo esta estructura:
/firma
├── FirmaValidator.php
├── CertValidator.php
├── OcspClient.php
└── uploads/
Y crear un endpoint interno:
POST /api/validar_firma.php
Que reciba un PDF y devuelva:
{
"firma_valida": true,
"certificado_vigente": true,
"emisor": "PJF",
"firmante": "JUAN PEREZ LOPEZ",
"rfc": "PELJ800101XXX",
"fecha_firma": "2026-02-21 14:22:11"
}
🔐 3️⃣ Cómo validar la firma en PHP
PHP no trae validación avanzada de PDF firmados nativamente, pero puedes hacerlo con:
✅ Opción recomendada (más profesional)
Usar OpenSSL + extracción de firma PKCS7
Muchos PDFs firmados contienen la firma en formato PKCS#7.
Ejemplo básico:
<?php
$archivo = "documento_firmado.pdf";
$firmaExtraida = "firma.p7s"; // previamente extraída
$certificado = "certificado.pem";
$resultado = openssl_pkcs7_verify(
$firmaExtraida,
PKCS7_NOVERIFY,
$certificado
);
if ($resultado) {
echo "Firma válida";
} else {
echo "Firma inválida";
}
⚠ Nota:
Para producción necesitarás una librería que extraiga correctamente la firma embebida del PDF (como iText vía Java bridge, o ejecutar DSS como microservicio).
🧾 4️⃣ Validar el certificado (SAT o PJF)
Una vez extraído el certificado:
$certData = file_get_contents("certificado.pem");
$certInfo = openssl_x509_parse($certData);
print_r($certInfo);
Ahí puedes obtener:
-
Nombre del firmante
-
RFC
-
Vigencia (validFrom / validTo)
-
Emisor (issuer)
Luego validas fechas:
$ahora = time();
if ($ahora >= $certInfo['validFrom_time_t'] &&
$ahora <= $certInfo['validTo_time_t']) {
echo "Certificado vigente";
}
🌐 5️⃣ Validar que NO esté revocado (OCSP / CRL)
Este es el paso más importante jurídicamente.
Debes consultar:
-
OCSP del SAT (para e.firma)
-
OCSP del PJF (para FIREL)
Ejemplo conceptual usando OpenSSL:
openssl ocsp \
-issuer issuer.pem \
-cert certificado.pem \
-url http://ocsp.sat.gob.mx
En PHP puedes ejecutarlo:
$output = shell_exec("openssl ocsp -issuer issuer.pem -cert certificado.pem -url http://ocsp.sat.gob.mx");
echo $output;
Si devuelve good, el certificado no está revocado.
📊 6️⃣ Cómo presentar esto en tu propuesta formal
Como técnico del juzgado (y siendo ingeniero en sistemas 👌), puedes proponer:
📌 Sistema de Validación de Firma Electrónica Judicial
Componentes:
-
✔ Módulo de carga de documento
-
✔ Motor criptográfico (OpenSSL)
-
✔ Verificación de integridad PDF (PAdES)
-
✔ Validación de certificado
-
✔ Consulta automática OCSP
-
✔ Registro de auditoría
-
✔ Generación de constancia de validación
🛡 Ventajas para el Tribunal
-
Autonomía tecnológica (no depender de servicios externos)
-
Seguridad jurídica
-
Trazabilidad
-
Integración con tu sistema actual de carpetas
-
Escalable para juicios en línea
🎯 Recomendación REALISTA
Si quieres algo más robusto que solo OpenSSL:
✔ Crear un microservicio en Java usando DSS (Digital Signature Services de la UE)
✔ PHP solo consume ese microservicio vía API
✔ Así validas PAdES correctamente
Es la arquitectura que usan muchos tribunales.
💡 Si quieres, puedo:
-
🔹 Diseñarte el diagrama técnico listo para presentar al magistrado
-
🔹 Hacer un prototipo en PHP estructurado tipo MVC (como tu sistema de carpetas)
-
🔹 Ayudarte a redactar la propuesta formal institucional
¿Qué prefieres: prototipo técnico o documento formal para presentar?
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario