Firmantes con SubjectKeyIdentifier de CMS
HotPDF puede identificar al firmante CMS primario por la extensión X.509 subjectKeyIdentifier en lugar de un nombre de emisor y un número de serie de certificado
Selección del identificador
HPDFCMSDefaultOptions establece THPDFCMSSignOptions.SignerIdentifier en cmsidIssuerAndSerialNumber para que los llamadores existentes conserven su forma de bytes CMS determinista
Establezca el campo en cmsidSubjectKeyIdentifier antes de llamar a HPDFCMSBuildSignedDataEx, a un compilador CMS basado en proveedor, a la estimación del marcador de posición o a una sobrecarga de firma de alto nivel que acepte THPDFCMSSignOptions
Options := HPDFCMSDefaultOptions(palBaseline_B_B);
Options.SignerIdentifier := cmsidSubjectKeyIdentifier;
CMS := HPDFCMSBuildSignedDataEx(KeyMaterial, DocumentDigest, Options);
Requisito del certificado
El certificado del firmante debe contener exactamente una extensión X.509 no vacía con OID 2.5.29.14 cuyo valor de extensión contenga un OCTET STRING DER completo
HotPDF falla antes de firmar cuando esa extensión está ausente, duplicada, vacía, truncada o malformada; no sintetiza un identificador de clave a partir de la clave pública
SigningCertificateV2 continúa vinculando el mismo certificado con sus campos de emisor y serie incluso cuando el SID de SignerInfo usa el identificador de clave
Formato en la transmisión y verificación
El identificador de clave se codifica como IMPLICIT [0] primitivo, SignerInfo.version es 3 y el SignedData.version generado de un solo firmante es 3 según requiere RFC 5652
La verificación requiere que los bytes del SID coincidan con la extensión del certificado incrustado y rechaza valores de SID no coincidentes, registros de emisor y serie con versión de firmante distinta de 1, registros SKI con versión de firmante distinta de 3 y contenedores SKI cuya versión externa sea inferior a 3
La identidad compacta es útil para almacenes de certificados orientados a claves y flujos de trabajo que no conservan codificaciones de nombre de emisor, pero el software consumidor debe admitir la opción SKI de RFC 5652
HPDFCMSBuildCounterSignerInfo continúa usando identidades de emisor y serie; configure el firmante primario mediante THPDFCMSSignOptions
Consulte proveedores de firma modernos y consistencia del algoritmo de resumen de CMS