CMS SubjectKeyIdentifier İmzalayanları

HotPDF, birincil CMS imzalayanı, issuer adı ve sertifika seri numarası yerine X.509 subjectKeyIdentifier uzantısıyla tanımlayabilir

Tanımlayıcıyı seçme

HPDFCMSDefaultOptions, THPDFCMSSignOptions.SignerIdentifier değerini cmsidIssuerAndSerialNumber yapar; böylece mevcut çağıranlar deterministik CMS bayt şekillerini korur

HPDFCMSBuildSignedDataEx'i, provider tabanlı bir CMS oluşturucuyu, placeholder tahminini veya THPDFCMSSignOptions kabul eden üst düzey bir imzalama overload'unu çağırmadan önce alanı cmsidSubjectKeyIdentifier yapın

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

Sertifika gereksinimi

İmzalayan sertifikası, OID'si 2.5.29.14 olan ve uzantı değeri eksiksiz bir DER OCTET STRING içeren tam olarak bir boş olmayan X.509 uzantısı barındırmalıdır

Bu uzantı eksik, mükerrer, boş, kesilmiş veya hatalı biçimliyken HotPDF imzalamadan önce başarısız olur; genel anahtardan bir anahtar tanımlayıcı sentezlemez

SigningCertificateV2, SignerInfo SID anahtar tanımlayıcısını kullansa bile aynı sertifikayı issuer ve serial alanlarıyla bağlamayı sürdürür

Tel biçimi ve doğrulama

Anahtar tanımlayıcı primitive IMPLICIT [0] olarak kodlanır, SignerInfo.version 3 olur ve üretilen tek imzalayanlı SignedData.version, RFC 5652'nin gerektirdiği gibi 3 olur

Doğrulama, SID baytlarının gömülü sertifika uzantısıyla eşleşmesini ister; eşleşmeyen SID değerlerini, imzalayan sürümü 1 olmayan issuer-and-serial kayıtlarını, imzalayan sürümü 3 olmayan SKI kayıtlarını ve dış sürümü 3'ün altında kalan SKI container'larını reddeder

Bu kompakt kimlik, issuer adı kodlamalarını saklamayan anahtar odaklı sertifika depoları ve iş akışları için kullanışlıdır; ancak tüketen yazılımın RFC 5652 SKI seçeneğini desteklemesi gerekir

HPDFCMSBuildCounterSignerInfo issuer-and-serial kimliklerini kullanmayı sürdürür; birincil imzalayanı THPDFCMSSignOptions üzerinden yapılandırın

modern imza sağlayıcılarına ve CMS özet algoritması tutarlılığına bakın