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