CMS SubjectKeyIdentifier Signers

HotPDF može identificirati primarnog CMS potpisnika prema X.509 subjectKeyIdentifier ekstenziji umjesto po imenu izdavatelja i serijskom broju certifikata

Odabir identifikatora

HPDFCMSDefaultOptions postavlja THPDFCMSSignOptions.SignerIdentifier na cmsidIssuerAndSerialNumber tako da postojeći pozivatelji zadrže svoj deterministički oblik CMS bajtova

Postavite polje na cmsidSubjectKeyIdentifier prije pozivanja HPDFCMSBuildSignedDataEx, builder-a CMS-a baziranog na provideru, procjene zamjenskog mjesta ili overload-a potpisivanja visoke razine koji prihvaća THPDFCMSSignOptions

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

Zahtjev za certifikat

Certifikat potpisnika mora sadržavati točno jednu neispraznu X.509 ekstenziju s OID 2.5.29.14 čija vrijednost ekstenzije sadrži potpuni DER OCTET STRING

HotPDF ne uspijeva prije potpisivanja kada ta ekstenzija nedostaje, duplicirana je, prazna, skraćena ili malformirana; ne sintetizira identifikator ključa iz javnog ključa

SigningCertificateV2 nastavlja vezati isti certifikat sa svojim poljima izdavatelja i serijskog broja čak i kada SignerInfo SID koristi identifikator ključa

Wire format i verifikacija

Identifikator ključa kodiran je kao primitivni IMPLICIT [0], SignerInfo.version je 3, a generirani SignedData.version s jednim potpisnikom je 3 kako zahtijeva RFC 5652

Verifikacija zahtijeva da SID bajtovi odgovaraju ugrađenoj certifikatnoj ekstenziji i odbija nepodudarne SID vrijednosti, issuer-and-serial zapise s verzijom potpisnika koja nije 1, SKI zapise s verzijom potpisnika koja nije 3 te SKI spremnike čija je vanjska verzija ispod 3

Kompaktni identitet koristan je za certifikatne spremišta orijentirana na ključeve i tokove koji ne zadržavaju kodiranja imena izdavatelja, ali potrošački softver mora podržavati SKI izbor iz RFC 5652

HPDFCMSBuildCounterSignerInfo nastavlja koristiti issuer-and-serial identitete; konfigurirajte primarnog potpisnika kroz THPDFCMSSignOptions

Vidi modern signature providers i CMS digest-algorithm consistency