Signataires CMS SubjectKeyIdentifier

HotPDF peut identifier le signataire primaire CMS par l'extension X.509 subjectKeyIdentifier au lieu d'un nom d'émetteur et d'un numéro de série de certificat

Sélection de l'identifiant

HPDFCMSDefaultOptions définit THPDFCMSSignOptions.SignerIdentifier sur cmsidIssuerAndSerialNumber afin que les appelants existants conservent leur forme d'octets CMS déterministe

Définissez le champ sur cmsidSubjectKeyIdentifier avant d'appeler HPDFCMSBuildSignedDataEx, un constructeur CMS basé sur fournisseur, l'estimation du placeholder ou une surcharge de signature de haut niveau qui accepte THPDFCMSSignOptions

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

Exigence du certificat

Le certificat du signataire doit contenir exactement une extension X.509 non vide avec l'OID 2.5.29.14 dont la valeur d'extension contient une OCTET STRING DER complète

HotPDF échoue avant la signature lorsque cette extension est manquante, dupliquée, vide, tronquée ou mal formée ; il ne synthétise pas d'identifiant de clé à partir de la clé publique

SigningCertificateV2 continue de lier le même certificat avec ses champs d'émetteur et de série même lorsque le SID du SignerInfo utilise l'identifiant de clé

Format réseau et vérification

L'identifiant de clé est encodé comme IMPLICIT [0] primitif, SignerInfo.version vaut 3, et le SignedData.version mono-signataire généré vaut 3 comme l'exige la RFC 5652

La vérification exige que les octets SID correspondent à l'extension du certificat intégré et rejette les valeurs SID incohérentes, les enregistrements émetteur-et-série avec une version de signataire différente de 1, les enregistrements SKI avec une version de signataire différente de 3, et les conteneurs SKI dont la version externe est inférieure à 3

L'identité compacte est utile pour les magasins de certificats orientés clé et les flux de travail qui ne conservent pas les encodages de nom d'émetteur, mais le logiciel consommateur doit prendre en charge le choix SKI de la RFC 5652

HPDFCMSBuildCounterSignerInfo continue d'utiliser des identités émetteur-et-série ; configurez le signataire primaire via THPDFCMSSignOptions

Voir fournisseurs de signature modernes et cohérence des algorithmes de condensat CMS