Explique el estado y la confianza de una firma digital PDF
El resultado de una firma PDF puede parecer contradictorio: la firma puede ser criptográficamente válida aunque el firmante sea desconocido, o el certificado puede haber caducado aunque el documento no haya cambiado.
Ejecutar — gratis
Esta capacidad convierte cuatro indicadores habituales de validación en una evaluación clara de confianza, hallazgos separados y un próximo paso práctico. No vuelve a comprobar el PDF ni el certificado. Explica las pruebas que ya produjo su validador para que usted distinga la integridad del documento, la identidad del firmante y la vigencia del certificado antes de confiar en el archivo.
Interprete por separado la validez y la integridad documental
El indicador de validez señala si la firma superó la comprobación criptográfica del validador, pero no constituye por sí solo un veredicto completo. El indicador de modificación desde la firma responde a otra pregunta: si los bytes o el estado permitido del documento actual difieren de aquello que firmó la persona. Cuando se notifican cambios, el PDF actual no debe considerarse la versión firmada, aunque otro estado afirme que la firma es válida. La aparente contradicción suele indicar que el objeto de firma aún puede comprobarse matemáticamente, pero el documento contiene cambios posteriores. Un indicador de validez falso también es decisivo: no debe usarse la firma como prueba de integridad. Si la validez es verdadera y no hay modificaciones, las pruebas respaldan la integridad, aunque todavía deban revisarse la identidad y las fechas. Por ello, la explicación da prioridad a un fallo de validez o a una modificación y describe cada señal sin reducir todo a una insignia ambigua.
Distinga un firmante desconocido de una firma dañada
Un firmante desconocido constituye una advertencia sobre identidad y cadena de confianza, no necesariamente una prueba de alteración del PDF. El validador puede confirmar la firma criptográfica pero carecer del certificado raíz, del certificado intermedio, de la política organizativa o de la decisión de confianza local necesaria para reconocer al firmante. En ese caso, el documento puede estar intacto mientras la persona u organización del certificado sigue sin verificarse. Conviene comprobar de forma independiente la cadena, comparar los datos del firmante con una fuente fiable y obtener el certificado o documento mediante un canal autenticado. No presuponga que un nombre visible demuestra la identidad. A la inversa, esta advertencia no significa por sí sola que exista manipulación maliciosa. La capacidad clasifica el caso como pendiente de revisión salvo que también exista un fallo de integridad más grave. Si el indicador es falso, solo informa de que el validador no marcó al firmante como desconocido; no inventa autoridades, revocaciones ni políticas no suministradas.
Sitúe la caducidad del certificado en la línea temporal
Un certificado caducado exige pruebas temporales. Que esté caducado hoy no demuestra automáticamente que la firma fuera inválida al crearse. Un sello de tiempo fiable puede acreditar que se firmó dentro de su periodo de validez, y los datos de validación a largo plazo pueden conservar pruebas de la cadena y de la revocación. Sin ellas queda una cuestión importante sin resolver. Por eso, la explicación recomienda revisar el sello de tiempo, las fechas y la revocación, en vez de calificar toda caducidad como fraude. Las combinaciones importan: la caducidad junto a un firmante desconocido plantea dudas de identidad y tiempo; si además hubo modificaciones, domina el fallo de integridad porque el archivo actual ya no es el firmado. Use el resultado como orientación sobre los indicadores aportados, no como sustituto del software de validación ni de asesoramiento jurídico. Para contratos, registros regulados o aprobaciones financieras, conserve el original y el informe completo, confirme la configuración de confianza y consulte al equipo responsable antes de aceptar el documento.
Qué puede hacer con ella
Aclarar un distintivo confuso
Convierta varias advertencias técnicas en una evaluación legible sin fingir que se ha revalidado el PDF.
Clasificar documentos firmados
Detecte archivos que deben rechazarse y otros que requieren revisar el firmante o el sello de tiempo.
Documentar una auditoría
Guarde una explicación determinista junto a los indicadores para que futuras revisiones comprendan la decisión.
Preguntas frecuentes
¿Esta capacidad verifica el propio PDF?
No. Explica indicadores producidos por un validador; no inspecciona el PDF, el certificado, el sello de tiempo ni servicios de revocación.
¿Puede ser válida la firma si se desconoce al firmante?
Sí. La integridad criptográfica puede aprobarse aunque el validador no logre crear una cadena de identidad fiable.
¿Un certificado caducado invalida siempre la firma?
No. Un sello de tiempo fiable y pruebas conservadas pueden demostrar que era válido al firmar, pero deben comprobarse.
¿Qué ocurre si el PDF cambió después de firmarse?
No confíe en el documento actual como el estado cubierto por la firma. Obtenga un original y vuelva a validarlo.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. El resultado es determinista para los mismos indicadores.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/pdf/signature-verify-status-explain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"valid":true,"modified_since_signing":false}'const res = await fetch("https://api.kit.forhosting.com/pdf/signature-verify-status-explain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"valid": true,
"modified_since_signing": false
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/signature-verify-status-explain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"valid": true,
"modified_since_signing": false
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/signature-verify-status-explain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"valid":true,"modified_since_signing":false}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"valid":true,"modified_since_signing":false}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/signature-verify-status-explain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"valid": true,
"modified_since_signing": false
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.signature_verify_status_explain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |