CMS Digest-Algorithm Consistency
HotPDF diagnosticerer inkonsistente CMS-algoritmeidentifikatorer, før det læser signerede dokumentområder, hasher indhold, bygger certifikatstier eller påkalder en signaturudbyder
Konsistenskontrol
Den aktuelle SignerInfo.digestAlgorithm skal være til stede i den omsluttende SignedData.digestAlgorithms-mængde, mens urelaterede ekstra algoritmer fortsat er tilladt for interoperable containere med flere underskrivere
Digest-specifikke RSA-PKCS#1-v1.5- og ECDSA-signatur-OID'er samt den eksplicitte hash i RSA-PSS-parametre skal vælge samme digest som SignerInfo.digestAlgorithm
Når RFC 6211 CMSAlgorithmProtection-signeringsattributten er til stede, skal den forekomme én gang med én værdi, og dens beskyttede digest- og signatur-AlgorithmIdentifier-værdier skal matche de faktiske SignerInfo-felter
Fraværende og DER NULL-parametre sammenlignes som ækvivalente for algoritmeidentifikatorer uden parametre; andre parametre sammenlignes præcist, så parameteriserede signaturmekanismer ikke kan normaliseres lydløst
Maskinlæsbart resultat
HPDFParseCMSSignature bevarer erfolgreidt parset metadata, men sætter THPDFSignatureInfo.Status til svDigestAlgorithmMismatch, når en konsistenskontrol fejler
Verifikation returnerer svDigestAlgorithmMismatch, valideringsrapporter bruger vfcDigestAlgorithmMismatch, og JSON udsender digestAlgorithmMismatch uden at kollapse tilstanden til fejlbehæftet CMS, ikke-understøttet algoritme eller indholds-digest-uoverensstemmelse
THPDFSignatureInfo.DigestAlgorithmOID registrerer underskriverens digest-OID, og THPDFSignatureInfo.DigestConsistencyIssue vælger en af følgende årsager
dciSignerDigestNotDeclared— den kendte underskriver-digest mangler i den ydre digest-mængdedciSignatureDigestMismatch— en fast eller parameteriseret signaturmekanisme vælger en anden digestdciAlgorithmProtectionDigestMismatch— den beskyttede digest-identifikator adskiller sig fra underskriverens digest-identifikatordciAlgorithmProtectionSignatureMismatch— den beskyttede signaturidentifikator adskiller sig fra underskriverens signaturidentifikator
JSON-underskriverobjekter udsætter de samme oplysninger som digestAlgorithmOID og digestConsistencyIssue med værdierne signerDigestNotDeclared, signatureDigestMismatch, algorithmProtectionDigestMismatch eller algorithmProtectionSignatureMismatch
Tidsstempler og forrang
RFC 3161-dokumenttidsstempler og usignerede signaturtidsstempel-tokens bruger de samme kontroller, og deres THPDFTimestampInfo.DigestConsistencyIssue-værdi identificerer en inkonsistent indlejret CMS-container
Strukturelle fejl fejler stadig som fejlbehæftet CMS, ukendte underskriver-digests forbliver ikke-understøttede, og den første deterministiske konsistens-problematik bevares i rækkefølgen container, algoritmebeskyttelse, derefter signaturmekanisme
Se moderne signaturudbydere og THotPDF.VerifyLoadedSignatureWithOptions for udbyder- og indlæst-dokument-verifikationskontrakter