Podepisovatelé CMS SubjectKeyIdentifier

HotPDF dokáže identifikovat primárního podepisovatele CMS podle rozšíření X.509 subjectKeyIdentifier namísto názvu emitenta a sériového čísla certifikátu

Výběr identifikátoru

HPDFCMSDefaultOptions nastavuje THPDFCMSSignOptions.SignerIdentifier na cmsidIssuerAndSerialNumber, takže stávající volající zachovají svůj deterministický tvar bajtů CMS

Nastavte pole na cmsidSubjectKeyIdentifier před voláním HPDFCMSBuildSignedDataEx, stavitele CMS založeného na poskytovateli, odhadu placeholderu nebo přetížení podepisování na vysoké úrovni, které přijímá THPDFCMSSignOptions

Options := HPDFCMSDefaultOptions(palBaseline_B_B);
Options.SignerIdentifier := cmsidSubjectKeyIdentifier;
CMS := HPDFCMSBuildSignedDataEx(KeyMaterial, DocumentDigest, Options);

Požadavek na certifikát

Podepisovatelský certifikát musí obsahovat přesně jedno neprázdné rozšíření X.509 s OID 2.5.29.14, jehož hodnota rozšíření obsahuje kompletní DER OCTET STRING

HotPDF selže před podepsáním, když toto rozšíření chybí, je duplicitní, prázdné, zkrácené nebo malformované; nesyntetizuje identifikátor klíče z veřejného klíče

SigningCertificateV2 nadále váže stejný certifikát přes své pole emitenta a sériového čísla, i když SID v SignerInfo používá identifikátor klíče

Formát přenosu a ověřování

Identifikátor klíče je zakódován jako primitivní IMPLICIT [0], SignerInfo.version je 3 a generovaný SignedData.version pro jednoho podepisovatele je 3 podle RFC 5652

Ověřování vyžaduje, aby se bajty SID shodovaly s vloženým rozšířením certifikátu, a odmítá neshodující se hodnoty SID, záznamy emitenta a sériového čísla s verzí podepisovatele jiné než 1, záznamy SKI s verzí podepisovatele jiné než 3 a kontejnery SKI s vnější verzí pod 3

Kompaktní identita je užitečná pro úložiště certifikátů orientovaná na klíče a pracovní postupy, které nezachovávají kódování názvů emitentů, ale konzumní software musí podporovat volbu SKI podle RFC 5652

HPDFCMSBuildCounterSignerInfo nadále používá identity emitenta a sériového čísla; nakonfigurujte primárního podepisovatele přes THPDFCMSSignOptions

Viz moderní poskytovatele podpisů a konzistenci digest algoritmu CMS