موقِّعو CMS بواسطة SubjectKeyIdentifier
يستطيع HotPDF تحديد الموقِّع الأساسي في CMS عبر الامتداد X.509 subjectKeyIdentifier بدلًا من اسم المُصدِر والرقم التسلسلي للشهادة
اختيار المعرِّف
تضبط HPDFCMSDefaultOptions الحقل THPDFCMSSignOptions.SignerIdentifier على cmsidIssuerAndSerialNumber حتى تحتفظ الاستدعاءات القائمة بشكل بايتات CMS الحتمي
اضبط الحقل على cmsidSubjectKeyIdentifier قبل استدعاء HPDFCMSBuildSignedDataEx أو أحد بناة CMS المعتمدين على مزوّد أو تقدير العناصر النائبة أو أي حمل زائد رفيع المستوى للتوقيع يقبل THPDFCMSSignOptions
Options := HPDFCMSDefaultOptions(palBaseline_B_B);
Options.SignerIdentifier := cmsidSubjectKeyIdentifier;
CMS := HPDFCMSBuildSignedDataEx(KeyMaterial, DocumentDigest, Options);
متطلبات الشهادة
يجب أن تحتوي شهادة الموقِّع على امتداد X.509 واحد غير فارغ بالضبط ذي المعرِّف 2.5.29.14، وتكون قيمة الامتداد سلسلة DER OCTET STRING كاملة
يفشل HotPDF قبل التوقيع إذا كان الامتداد غائبًا أو مكررًا أو فارغًا أو مبتورًا أو غير سليم البنية، ولا يولِّد معرِّف مفتاح من المفتاح العام
يواصل SigningCertificateV2 ربط الشهادة نفسها بحقلي المُصدِر والرقم التسلسلي حتى عندما يستخدم SID في SignerInfo معرِّف المفتاح
صيغة النقل والتحقق
يُرمَّز معرِّف المفتاح كعنصر أولي بوسم IMPLICIT [0]، ويبلغ SignerInfo.version القيمة 3، وتبلغ قيمة SignedData.version المولَّدة لموقِّع واحد القيمة 3 كما يشترط RFC 5652
يتطلب التحقق تطابق بايتات SID مع امتداد الشهادة المضمَّن، ويرفض قيم SID غير المتطابقة، وسجلات المُصدِر والرقم التسلسلي ذات إصدار الموقِّع غير 1، وسجلات SKI ذات إصدار الموقِّع غير 3، وحويات SKI التي يقل إصدارها الخارجي عن 3
تفيد الهوية المختصرة مخازن الشهادات الموجَّهة بالمفاتيح وسير العمل الذي لا يحتفظ بترميز أسماء المُصدِرين، لكن يجب أن يدعم البرنامج المستهلك خيار SKI في RFC 5652
يواصل HPDFCMSBuildCounterSignerInfo استخدام هويات المُصدِر والرقم التسلسلي؛ اضبط الموقِّع الأساسي عبر THPDFCMSSignOptions