Entenda o status e a confianca da assinatura digital PDF
O resultado de uma assinatura PDF pode parecer contraditório: ela pode ser criptograficamente válida enquanto o signatário é desconhecido, ou o certificado pode estar expirado mesmo sem alteração do documento.
Executar grátis
Esta capacidade transforma quatro sinalizadores comuns em uma avaliação clara de confiança, constatações individuais e uma próxima ação prática. Ela não verifica novamente o PDF nem o certificado. Em vez disso, explica as evidências já produzidas pelo seu validador, para que você diferencie integridade documental, identidade do signatário e validade temporal antes de decidir se pode confiar no arquivo assinado.
Leia validade e integridade documental como sinais separados
O sinalizador de validade informa se a assinatura passou na verificação criptográfica, mas não representa sozinho um veredito completo. O sinalizador de modificação desde a assinatura responde a uma pergunta relacionada: se os bytes ou o estado permitido do documento atual diferem daquilo que foi originalmente assinado. Quando há modificação, o PDF atual não deve ser tratado como a versão assinada, mesmo que outro estado diga que a assinatura é válida. A aparente contradição geralmente significa que o objeto da assinatura ainda pode ser verificado matematicamente, embora o documento contenha mudanças posteriores. Um valor falso de validade também é decisivo: não se deve confiar na assinatura como prova de integridade. Se a validade for verdadeira e não houver modificação, as evidências favorecem a integridade, mas a identidade e o período do certificado ainda podem exigir análise. Por isso, a explicação prioriza falha de validade e modificação, detalhando cada sinal sem reduzir tudo a um selo vago.
Diferencie signatário desconhecido de assinatura danificada
Signatário desconhecido é um alerta de identidade e cadeia de confiança, não necessariamente evidência de alteração do PDF. O validador pode confirmar a assinatura criptográfica, mas não possuir o certificado raiz, o intermediário, a política organizacional ou a decisão local de confiança necessária para reconhecer o signatário. Nessa combinação, o documento pode estar intacto enquanto a pessoa ou organização associada ao certificado permanece sem verificação. Confirme de forma independente a cadeia, compare os dados do signatário com uma fonte confiável e obtenha o certificado ou documento por um canal autenticado. Não suponha que um nome conhecido na tela comprove identidade. Da mesma forma, o alerta não significa sozinho adulteração maliciosa. A capacidade classifica a situação como exigindo análise, salvo quando existe uma falha de integridade mais forte. Se o sinalizador for explicitamente falso, ela apenas registra que o validador não indicou signatário desconhecido, sem inventar dados sobre autoridade, revogação ou política não fornecidos.
Interprete a expiração na linha do tempo da assinatura
Um certificado expirado exige evidências de tempo. Estar expirado hoje não prova automaticamente que a assinatura era inválida quando foi criada. Um carimbo do tempo confiável pode demonstrar que a assinatura ocorreu durante a validade, e dados de validação de longo prazo podem preservar evidências da cadeia e da revogação. Sem isso, permanece uma questão relevante. A explicação recomenda verificar o carimbo, as datas e a revogação, em vez de declarar fraudulento todo certificado expirado. As combinações importam: expiração com signatário desconhecido cria dúvidas de identidade e tempo; expiração com documento modificado é dominada pela falha de integridade, pois o arquivo atual não é o estado assinado. Trate o resultado como orientação sobre os sinalizadores fornecidos, não como substituto de um validador ou de aconselhamento jurídico. Em contratos sensíveis, registros regulados ou aprovações financeiras, preserve o original e o relatório completo, confirme as configurações de confiança e consulte a equipe responsável antes de aceitar o documento.
Casos de uso
Explicar um aviso confuso
Transforme vários alertas técnicos em uma avaliação legível sem afirmar que o PDF foi revalidado.
Fazer triagem de documentos
Identifique arquivos que devem ser rejeitados e os que exigem análise do signatário ou do carimbo do tempo.
Contextualizar uma auditoria
Armazene uma explicação determinística junto aos sinalizadores para esclarecer decisões em revisões futuras.
Perguntas frequentes
Esta capacidade verifica o próprio PDF?
Não. Ela explica sinalizadores de um validador; não inspeciona PDF, certificado, carimbo do tempo ou serviço de revogação.
A assinatura pode ser válida com signatário desconhecido?
Sim. A integridade criptográfica pode passar mesmo quando o validador não cria uma cadeia de identidade confiável.
Certificado expirado sempre invalida a assinatura?
Não. Um carimbo confiável e evidências preservadas podem mostrar que ele era válido na assinatura, mas isso precisa ser conferido.
O que ocorre se o PDF foi alterado após a assinatura?
Não confie no documento atual como o estado coberto pela assinatura. Obtenha o original e valide-o novamente.
Quanto custa uma solicitação API?
Cada solicitação API custa US$ 0,002. O resultado é determinístico para os mesmos sinalizadores.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"valid": true,
"modified_since_signing": false
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.signature_verify_status_explain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
max_pages | 200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |