Preflight de perfis PAdES com endereçamento por cláusula
THotPDF.PreflightLoadedPAdES avalia uma assinatura carregada contra um perfil PAdES baseline ou estendido cumulativo e retorna todos os requisitos aplicáveis, inclusive as verificações aprovadas, com procedência de cláusula da norma e de evidência do PDF
Alvos suportados
Os alvos baseline são palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT e palBaseline_B_LTA; os alvos estendidos são palExtended_E_BES, palExtended_E_EPES e palExtended_E_LTV
O valor genérico palLegacy_adbePkcs7 não é um perfil PAdES e é rejeitado como alvo
Contrato de avaliação
A sobrecarga de fluxo preserva a posição da origem pertencente ao chamador, enquanto a sobrecarga de arquivo reabre a origem usada por LoadFromFile. Um resultado True da função significa que a avaliação foi concluída; use THPDFPAdESPreflightReport.Compliant para testar a conformidade
var
Report: THPDFPAdESPreflightReport;
Requirement: THPDFPAdESPreflightRequirement;
begin
PDF.LoadFromFile('Signed.pdf');
if not PDF.PreflightLoadedPAdES(0, palBaseline_B_LT, Report) then
raise Exception.Create(string(Report.Issue));
for Requirement in Report.Requirements do
WriteLn(string(Requirement.RuleID), ': ',
BoolToStr(Requirement.Passed, True), ' at ',
string(Requirement.Clause), ' object ',
Requirement.ObjectNumber, ' revision ',
Requirement.RevisionIndex);
end;
Evidências inspecionadas
As verificações baseline e estendidas inspecionam o dicionário de assinatura, a cobertura completa de /ByteRange, a validade da assinatura CMS, a cardinalidade dos atributos assinados, o tipo de conteúdo, o resumo da mensagem, as restrições de hora de assinatura, /M, /Filter, /SubFilter, /Reason e as entradas /Cert proibidas
As verificações ESS signing-certificate e signing-certificate-v2 calculam o hash do certificado real do signatário e exigem uma referência ESSCertID correspondente, em vez de aceitar um atributo apenas pelo nome
Os níveis mais altos inspecionam adicionalmente carimbos de tempo de assinatura ou de documento válidos, os arranjos de certificados e revogação do DSS, a revisão que introduziu o material de validação e se um carimbo de tempo posterior do documento cobre essa revisão do DSS
Resultados estruturados
Cada THPDFPAdESPreflightRequirement informa seu Profile de origem, Level normativo, RuleID estável, Clause, Path do PDF, ObjectNumber, RevisionIndex, status Passed e Message de diagnóstico
FailedRequirementCount conta as regras shall reprovadas, enquanto WarningCount conta as orientações should reprovadas. HighestConformingProfile identifica o perfil cumulativo mais alto aprovado e só faz sentido quando HasConformingProfile é verdadeiro
Veja PAdES signature-policy validation, batch signature validation e signature evidence acquisition