موقِّعو 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

انظر مزودو التوقيع الحديثون واتساق خوارزميات الملخص في CMS