Preflight de perfis PAdES com endereçamento por cláusula
THotPDF.PreflightLoadedPAdES avalia uma assinatura carregada contra um perfil PAdES baseline ou alargado cumulativo e devolve todos os requisitos aplicáveis, incluindo as verificações bem-sucedidas, com proveniência da cláusula da norma e da evidência PDF
Alvos suportados
Os alvos baseline são palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT e palBaseline_B_LTA; os alvos alargados 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 stream preserva a posição da fonte pertencente ao chamador, enquanto a sobrecarga de ficheiro reabre a fonte usada por LoadFromFile. Um resultado de função True 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ência inspecionada
As verificações baseline e alargadas 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, a mensagem digest, as restrições da 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 efetivo do signatário e exigem uma referência ESSCertID correspondente, em vez de aceitar um atributo apenas pelo nome
Os níveis superiores inspecionam ainda carimbos temporais válidos da assinatura ou do documento, os arrays de certificados e revogação do DSS, a revisão que introduziu o material de validação e se um carimbo temporal posterior do documento cobre essa revisão do DSS
Descobertas estruturadas
Cada THPDFPAdESPreflightRequirement reporta o Profile que o introduziu, o Level normativo, o RuleID estável, a Clause, o Path PDF, o ObjectNumber, o RevisionIndex, o estado Passed e a Message de diagnóstico
FailedRequirementCount conta as regras shall de nível de falha, enquanto WarningCount conta as orientações shall de nível de aviso. HighestConformingProfile identifica o perfil cumulativo mais elevado que passou e só é significativo quando HasConformingProfile é verdadeiro
Consulte Validação da política de assinatura PAdES, Validação de assinaturas em lote com caches partilhadas e Aquisição assíncrona de provas de assinatura