CMS-digest-algoritmkonsistens

HotPDF diagnostiserar inkonsekventa CMS-algoritmidentifierare före läsning av signerade dokumentintervall, hashning av innehåll, uppbyggnad av certifikatsökvägar eller anrop av en signaturleverantör

Konsistenskontroller

Den aktuella SignerInfo.digestAlgorithm måste finnas i den omslutande SignedData.digestAlgorithms-uppsättningen, medan orelaterade extra algoritmer förblir tillåtna för interoperabla multi-signerar-behållare

Digest-specifika RSA PKCS#1 v1.5- och ECDSA-signatur-OID:er samt den explicita hashen i RSA-PSS-parametrar måste välja samma digest som SignerInfo.digestAlgorithm

När RFC 6211-CMSAlgorithmProtection-signerade attributet finns, måste det förekomma en gång med ett värde, och dess skyddade digest- och signatur-AlgorithmIdentifier-värden måste matcha de faktiska SignerInfo-fälten

Frånvarande och DER NULL-parametrar jämförs som likvärdiga för algoritmidentifierare utan parametrar; andra parametrar jämförs exakt så att parametriserade signaturmekanismer inte kan normaliseras tyst

Maskinläsbart resultat

HPDFParseCMSSignature bevarar framgångsrikt parsat metadata men sätter THPDFSignatureInfo.Status till svDigestAlgorithmMismatch när en konsistenskontroll misslyckas

Verifiering returnerar svDigestAlgorithmMismatch, valideringsrapporter använder vfcDigestAlgorithmMismatch och JSON avger digestAlgorithmMismatch utan att kollapsa villkoret till felformaterad CMS, icke-stödd algoritm eller innehållsdigest-mismatch

THPDFSignatureInfo.DigestAlgorithmOID registrerar signerarens digest-OID och THPDFSignatureInfo.DigestConsistencyIssue väljer en av följande orsaker

JSON-signerarobjekt exponerar samma information som digestAlgorithmOID och digestConsistencyIssue med värdena signerDigestNotDeclared, signatureDigestMismatch, algorithmProtectionDigestMismatch eller algorithmProtectionSignatureMismatch

Tidsstämplar och företräde

RFC 3161-dokumenttidsstämplar och osignerade signaturtidsstämpel-token använder samma kontroller, och deras THPDFTimestampInfo.DigestConsistencyIssue-värde identifierar en inkonsekvent nästlad CMS-behållare

Strukturella fel misslyckas fortfarande som felformaterad CMS, okända signerardigester förblir icke-stödda och den första deterministiska konsistensfrågan behålls i behållar-, algoritmskydds- och sedan signaturmekanismordning

Se moderna signaturleverantörer och THotPDF.VerifyLoadedSignatureWithOptions för leverantörs- och inläst-dokument-verifieringskontrakt