PLBuildModernDetachedCMS

التشفير، التواقيع الرقمية

الوصف

يبني SignedData منفصلًا في CMS حول تواقيع RSA أو ECDSA أو Ed25519 للخوارزميات التي لا تستطيع طبقة رسائل CryptoAPI في Windows التعبير عنها

تدخل شهادة الموقّع وسياق سلسلتها، وخوارزمية الملخص، وتشفيرات DER لنوع الالتزام وسياسة التواقيع، ومواد الإبطال، وسياسة الحشو، كلها عبر المعاملات، بينما توفر CNG NCrypt أو callback توقيع ملخص خارجي أو مسار Ed25519 بـ Pascal الخالص التوقيع الخام

الصيغة

Delphi

Function PLBuildModernDetachedCMS(CertContext: Pointer;
  Const CertificateDER, Ed25519Seed, Data, SubFilter: AnsiString;
  DigestAlgorithm: Integer; Const CommitmentTypeDER,
  SignaturePolicyDER: AnsiString; NCryptKeyHandle: TPLIntPtr= 0;
  AllowPrivateKeyUI: Boolean= False;
  ExternalSigner: TPDFlibExternalDigestSignEvent= Nil;
  ExternalSender: TObject= Nil; ExternalSignProcessID: Integer= 0;
  ExternalSignatureAlgorithm: Integer= 0;
  RSAPSSPadding: Boolean= False;
  Const RevocationInfoDER: AnsiString= ''): AnsiString;

المعاملات

CertContextمقبض CERT_CONTEXT في Windows لشهادة التوقيع؛ وNil لمسار الموقّع الخارجي الخالص
CertificateDERشهادة التوقيع بترميز DER، تُستخدم للشهادة المضمّنة ومراجع المُصدر/الرقم التسلسلي
Ed25519Seedبذرة 32 بايت عند توقيع Ed25519 دون CNG، وإلا فسلسلة فارغة
Dataبايتات المدى المجزَّأ مسبقًا التي يغطيها التوقيع المنفصل
SubFilter/SubFilter الهدف مثل /ETSI.CAdES.detached الذي يقود اختيار السمات
DigestAlgorithmرقم خوارزمية الملخص المطابق لـ Ord(TPDFlibDigestAlgorithm): و2 لـ SHA-256، و3 لـ SHA-384، و4 لـ SHA-512، ومن 5 إلى 7 لعائلة SHA-3
CommitmentTypeDERسمة نوع الالتزام بترميز DER، وفارغة عند غيابها
SignaturePolicyDERمعرّف سياسة التواقيع بترميز DER، وفارغ عند غيابه
NCryptKeyHandleمقبض مفتاح CNG مفتوح؛ القيمة 0 تدع الدالة تفتح مفتاح الشهادة الخاص بنفسها مع إمكانية عرض واجهة المستخدم
AllowPrivateKeyUIيسمح بحوار اكتساب مفتاح CNG حين يتطلب المفتاح حضور المستخدم
ExternalSignercallback يستقبل الملخص ويعيد التوقيع الخام، لأجل HSM أو التوقيع البعيد
ExternalSenderالمرسِل الذي يمرَّر عائدًا إلى callback الموقّع الخارجي
ExternalSignProcessIDمعرّف عملية التوقيع الذي يمرَّر عائدًا إلى الـ callback
ExternalSignatureAlgorithmإحدى القيم PL_EXTERNAL_SIGNATURE_RSA_PKCS1 أو PL_EXTERNAL_SIGNATURE_ECDSA_DER أو PL_EXTERNAL_SIGNATURE_ECDSA_P1363
RSAPSSPaddingيختار حشو RSASSA-PSS لتواقيع RSA
RevocationInfoDERمعلومات إبطال مجموعة مسبقًا تُضمَّن بصفتها RevocationInfoChoices

قيمة الإرجاع

CMS المنفصل بترميز DER، أو سلسلة فارغة عند فشل أي خطوة توقيع

ملاحظات

هذه الدالة هي المحرك خلف مسارات التواقيع الحديثة لعملية التوقيع؛ واستدعاؤها مباشرة يبقي السيطرة الكاملة على سمات الالتزام والسياسة، بينما تنزل البايتات العائدة في حفرة /Contents في PDF كما هو الحال مع بيانات يتحقق منها PLIsModernDetachedCMS

انظر أيضًا

PLVerifyModernDetachedCMS, PLIsModernDetachedCMS, PLModernSignatureSizeEstimate, TPDFlibExternalDigestSignEvent, SetSignProcessExternalDigestSigner