مرجع HotPDF
يمكن لـ HotPDF إنشاء هياكل صلاحيات DocMDP وFieldMDP، ثم فحص وتصنيف كل تابع تحويل توقيع قياسي في مستند محمّل
API المُنشئ
procedure AddCertificationSignatureField(
const FieldName: AnsiString;
Rectangle: TRect;
Permission: THPDFDocMDPPermission;
ContentsBytes: Integer = 8192;
const SubFilter: AnsiString = 'adbe.pkcs7.detached';
const Reason: AnsiString = '';
const Location: AnsiString = '';
const ContactName: AnsiString = '';
Flags: THPDFFormFieldFlags = []);
procedure ConfigureCertificationSignature(
const FieldName: AnsiString;
Permission: THPDFDocMDPPermission);
procedure AttachSignatureFieldLock(
const FieldName: AnsiString;
Action: THPDFFieldLockAction;
const Fields: array of AnsiString);
تجمع AddCertificationSignatureField بين إنشاء placeholder موقَّع وتهيئة الشهادة (certification)
تُستخدم ConfigureCertificationSignature مع placeholder موقَّع تم إنشاؤه مسبقًا، وتتطلب أن يكون ذلك الحقل أول حقل يحمل قاموس توقيع
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
مستويات أذونات DocMDP
| المرجع | المرجع |
|---|---|
dmpNoChanges | المرجع |
dmpFormFillAndSign | المرجع |
dmpFormFillSignAndAnnotate | المرجع |
تُحجز dmpNone لنتائج الفحص التي لا تحتوي تحويل DocMDP، وترفضها توابع المُنشئ
مستويات أذونات DocMDP
| المرجع | المرجع | المرجع |
|---|---|---|
flaAll | المرجع | المرجع |
flaInclude | المرجع | المرجع |
flaExclude | المرجع | المرجع |
ترفض AttachSignatureFieldLock الأسماء الفارغة، والأسماء المكررة، وقيم action غير الصالحة، وشكل Fields غير المتوافق، والحقل الهدف غير الموقَّع، أو الحقل الذي يحمل بالفعل قفلًا أو سياسة FieldMDP
مستويات أذونات DocMDP
- يحمل توقيع الشهادة مصفوفة
/Referenceمباشرة تحتوي قاموس مرجع توقيع DocMDP مباشرًا ومعاملات تحويل مباشرة - تشير مدخلة
/Perms /DocMDPفي الـCatalog إلى نفس قاموس التوقيع غير المباشر - تشير مدخلة
/Lockفي الحقل إلى قاموس/Type /SigFieldLockغير مباشر - يُنسخ نطاق القفل إلى مرجع توقيع FieldMDP مباشر، وتشير مدخلته
/Dataإلى جذر الـCatalog غير المباشر - يُعلّم قاموس التوقيع مراجع التحويل بأنها حرجة (critical) عبر
/V 1
مستويات أذونات DocMDP
var
LockedFields: THPDFAnsiStringArray;
begin
HotPDF.CurrentPage.AddTextField(
'InternalCode', '', Rect(40, 80, 220, 108));
HotPDF.CurrentPage.AddCertificationSignatureField(
'CertSig', Rect(40, 140, 260, 190),
dmpFormFillAndSign, 8192,
'adbe.pkcs7.detached', 'Document approval');
SetLength(LockedFields, 1);
LockedFields[0] := 'InternalCode';
HotPDF.CurrentPage.AttachSignatureFieldLock(
'CertSig', flaInclude, LockedFields);
end;
مستويات أذونات DocMDP
function GetLoadedSignaturePermissions(
SigIndex: Integer;
out Info: THPDFSignaturePermissionInfo): Boolean;
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
يتحقق من الأشكال المباشرة وغير المباشرة المطلوبة، وأهداف /Perms في الـCatalog، وإصدارات التحويل، والمراجع المكررة، وقيود UR مقابل UR3، والقيمة الافتراضية الاختيارية /P 2 لـDocMDP
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
مستويات أذونات DocMDP
| المرجع | المرجع |
|---|---|
DocMDP | المرجع/Perms /DocMDPالمرجع |
UR | المرجع/URالمرجع/UR3المرجع |
FieldMDP | المرجع |
Identity | المرجع/Dataالمرجع |
تُحفظ أسماء التوابع غير المعروفة في UnknownTransformMethods وتجعل هيكل الصلاحيات غير صالح، حتى لا يُتجاهَل أي تحويل حرج
مستويات أذونات DocMDP
تُبلغ GetLoadedSignaturePermissions بهيكل السياسة فقط
تستمر VerifyLoadedSignature في الإبلاغ عن السلامة التشفيرية بشكل منفصل
تُجري AnalyzeLoadedSignatureRevisions تحليل تغيّر دلالي مراجَعة بمراجَعة لسياسات DocMDP وFieldMDP وUR3 وIdentity ذات byte-range، بينما تبقى توقيعات UR object-digest القديمة غير المعتمِدة على byte-range متاحة للفحص البنيوي
تحوّل SaveIncrementalUpdateAuthenticated الفحص إلى إنفاذ فعلي: فهي تقرأ السياسات من لقطاتها الموقَّعة، وتصادق على التوقيعات المتحكمة، وتتحقق من كل المراجَعات اللاحقة، ولا تنشر إلا عبر استبدال ذرّي بعد نجاح كل سياسة
مستويات أذونات DocMDP
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات
لا يمكن لمستند أن يحتوي إلا على توقيع تصديق (certification) واحد، لذا يُرفض طلب تهيئة ثانٍ قبل تغيير رسم الكائنات