Assinantes CMS com SubjectKeyIdentifier
O HotPDF pode identificar o assinante CMS primário pela extensão subjectKeyIdentifier X.509 em vez de um nome de emissor e número de série do certificado
Seleção do identificador
HPDFCMSDefaultOptions define THPDFCMSSignOptions.SignerIdentifier como cmsidIssuerAndSerialNumber, para que os chamadores existentes mantenham a sua forma determinística de bytes CMS
Defina o campo como cmsidSubjectKeyIdentifier antes de chamar HPDFCMSBuildSignedDataEx, um construtor CMS baseado em provedor, a estimativa de placeholder ou uma sobrecarga de assinatura de alto nível que aceita THPDFCMSSignOptions
Options := HPDFCMSDefaultOptions(palBaseline_B_B);
Options.SignerIdentifier := cmsidSubjectKeyIdentifier;
CMS := HPDFCMSBuildSignedDataEx(KeyMaterial, DocumentDigest, Options);
Requisito de certificado
O certificado do assinante tem de conter exatamente uma extensão X.509 não vazia com o OID 2.5.29.14 cujo valor de extensão contenha uma OCTET STRING DER completa
O HotPDF falha antes de assinar quando essa extensão está ausente, duplicada, vazia, truncada ou malformada; não sintetiza um identificador de chave a partir da chave pública
SigningCertificateV2 continua a vincular o mesmo certificado com os seus campos de emissor e número de série, mesmo quando o SID de SignerInfo usa o identificador de chave
Formato de transmissão e verificação
O identificador de chave é codificado como IMPLICIT primitivo [0], SignerInfo.version é 3 e o SignedData.version gerado para assinante único é 3, conforme exigido pelo RFC 5652
A verificação exige que os bytes do SID correspondam à extensão do certificado incorporado e rejeita valores SID incompatíveis, registos issuer-and-serial com versão de assinante diferente de 1, registos SKI com versão de assinante diferente de 3 e contentores SKI cuja versão externa seja inferior a 3
A identidade compacta é útil para armazéns de certificados orientados a chaves e fluxos de trabalho que não preservam codificações de nome de emissor, mas o software de consumo tem de suportar a escolha SKI do RFC 5652
HPDFCMSBuildCounterSignerInfo continua a usar identidades issuer-and-serial; configure o assinante primário através de THPDFCMSSignOptions
Consulte provedores de assinatura modernos e consistência do algoritmo de digest CMS