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

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