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