المفتاح العام (Public Key) هو نصف الزوج التشفيري الذي يجعل التحقق من فواتيرك الإلكترونية ممكنًا. في المرحلة الثانية من الفوترة الإلكترونية بالسعودية، يوقّع نظامك كل فاتورة بمفتاح خاص، بينما يستخدم المفتاح العام المقابل له للتحقق من صحة ذلك التوقيع. هذا التوثيق التقني يشرح المفتاح العام وحده: دوره في التحقق، وكيف يُوزَّع داخل شهادة X.509 (شهادة CSID)، وكيف يظهر في الوسم رقم 8 من رمز الاستجابة السريعة (QR)، ولماذا يمكن نشره علنًا دون أي خطر أمني.
هذا المقال جزء من توثيق تقني ضمن مجموعة الفوترة الإلكترونية، ويكمّل برنامج الفاتورة الإلكترونية من قيود. نركّز هنا على المفتاح العام فقط. أما حماية المفتاح الخاص وآلية التوقيع نفسها فلهما توثيق منفصل نشير إليه في موضعه.
ما المفتاح العام ولماذا نسميه «عامًا»
المفتاح العام رقم رياضي مرتبط رياضيًا بمفتاح خاص مقابل له. الاثنان معًا يُسميان «زوج المفاتيح» (Key Pair). يولّد نظامك هذا الزوج مرة واحدة عند التهيئة. ما يوقّعه المفتاح الخاص لا يتحقق منه إلا المفتاح العام المقابل، والعكس صحيح في التشفير.
تأتي تسمية «عام» من طبيعته: يمكن نشره لأي طرف دون أن يهدد ذلك أمن التوقيع. الهيئة (هيئة الزكاة والضريبة والجمارك) تملك نسخة منه، والمشتري الذي يستلم الفاتورة يصل إليه، وأي مدقق خارجي يستطيع قراءته. هذا الانتشار مقصود وليس ثغرة. الأمان كله يعتمد على سرّية المفتاح الخاص، لا على إخفاء المفتاح العام.
في الفوترة الإلكترونية السعودية يقوم زوج المفاتيح على منحنى بيضاوي (Elliptic Curve) من نوع secp256k1. هذا المنحنى نفسه المستخدم في تقنيات أخرى معروفة، ويُنتج توقيعًا بصيغة ECDSA. المفتاح العام في هذه الحالة نقطة على المنحنى، تُمثَّل بإحداثيين، ويبلغ طولها 256 بت لكل إحداثي.
الفكرة الجوهرية التي يقوم عليها التشفير غير المتماثل (Asymmetric Cryptography): استخراج المفتاح الخاص من المفتاح العام مستحيل عمليًا. تستطيع نشر المفتاح العام للعالم كله، ويبقى المفتاح الخاص الذي يقابله سرًا تامًا. لهذا السبب يمكن للهيئة وللمشتري التحقق من فواتيرك دون أن يملك أي منهما القدرة على إصدار فاتورة موقّعة باسمك.
| المعيار | المفتاح العام | المفتاح الخاص |
|---|---|---|
| الوظيفة | التحقق من التوقيع | إنشاء التوقيع |
| الانتشار | يُنشر بأمان | يبقى سرّياً |
| الموقع | داخل شهادة CSID ووسم QR رقم 8 | داخل النظام الآمن فقط |
دور المفتاح العام في التحقق من الفاتورة
وظيفة المفتاح العام واحدة ومحددة: التحقق (Verification). عندما يصدر نظامك فاتورة إلكترونية، يحسب بصمة رقمية (Hash) لمحتوى الفاتورة باستخدام خوارزمية SHA-256، ثم يوقّع تلك البصمة بالمفتاح الخاص. هذا التوقيع يُرفق بالفاتورة. التوقيع نفسه آلية منفصلة لها توثيقها الخاص، ونحن هنا نتتبّع الجانب الذي يخص المفتاح العام.
عند وصول الفاتورة إلى طرف ثانٍ، سواء الهيئة أو المشتري، تجري ثلاث خطوات تحقق:
- يحسب المتحقق بصمة (Hash) جديدة لمحتوى الفاتورة المستلمة باستخدام SHA-256 نفسها.
- يستخدم المفتاح العام لفك التوقيع المرفق واستخراج البصمة الأصلية التي وقّعها البائع.
- يقارن البصمتين. إذا تطابقتا، فالفاتورة أصلية ولم تُعدَّل بعد التوقيع. إذا اختلفتا، فالفاتورة إما مزيّفة أو عُبث بها.
هذه المقارنة تحقق هدفين في آنٍ واحد. الأول إثبات المصدر (Authentication): التوقيع لا يصحّ إلا بالمفتاح العام المقابل لمفتاح خاص محدد، فثبوت صحته يعني أن صاحب ذلك المفتاح الخاص هو من وقّع. الثاني سلامة المحتوى (Integrity): أي تغيير بحرف واحد في الفاتورة ينتج بصمة مختلفة تمامًا، فيفشل التطابق فورًا.
يمنع هذا التصميم نوعًا خطيرًا من التلاعب. لا يستطيع طرف وسيط أن يعترض فاتورتك ويغيّر المبلغ أو الرقم الضريبي، لأن البصمة الجديدة لن تطابق التوقيع الأصلي. وبما أنه لا يملك مفتاحك الخاص، فلا يقدر على إعادة التوقيع. المفتاح العام هو الأداة التي تكشف هذا التلاعب لأي متحقق.
مثال مبسّط لمنطق التحقق
الشيفرة التالية توضح المنطق العام لعملية التحقق بلغة Python باستخدام مكتبة cryptography. الهدف توضيحي لفهم الدور، لا نسخ تشغيلي:
لاحظ أن دالة التحقق تأخذ ثلاثة مدخلات: التوقيع، ومحتوى الفاتورة، وخوارزمية البصمة (SHA-256). المفتاح العام هو من يجري العملية. لا يظهر المفتاح الخاص في هذا الجانب إطلاقًا، لأن التحقق لا يحتاجه. هذا هو جوهر فصل الأدوار.
إعادة حساب تجزئة الفاتورة SHA-256
فك التوقيع بالمفتاح العام
المطابقة: تطابق = فاتورة أصلية
بنية المفتاح العام وترميزه
المفتاح العام في الفوترة الإلكترونية ليس سلسلة عشوائية، بل بنية رياضية محددة. على منحنى secp256k1، المفتاح العام نقطة لها إحداثيان: إحداثي السين وإحداثي الصاد. كل إحداثي عدد صحيح بطول 256 بت، أي 32 بايت. مجموع الإحداثيين يعطي 64 بايت، تُضاف إليها بادئة بايت واحد تحدد صيغة التمثيل.
توجد صيغتان شائعتان لتمثيل النقطة:
- الصيغة غير المضغوطة (Uncompressed): تبدأ بالبادئة 04، يتبعها إحداثي السين كاملًا ثم إحداثي الصاد كاملًا. الطول الإجمالي 65 بايت.
- الصيغة المضغوطة (Compressed): تبدأ بالبادئة 02 أو 03 حسب إشارة إحداثي الصاد، يتبعها إحداثي السين وحده. الطول الإجمالي 33 بايت. تُحسب الصاد رياضيًا من السين عند الحاجة.
تستخدم شهادة CSID غالبًا الصيغة غير المضغوطة، فتجد المفتاح العام يبدأ بالبادئة 04. مهما كانت الصيغة، فالنقطة الرياضية واحدة، والمتحقق يقبل أيًا منهما بعد فك ترميزها.
عند تخزين المفتاح العام داخل الشهادة، يُغلَّف ببنية قياسية تُسمى SubjectPublicKeyInfo، تتضمن معرّف الخوارزمية (id-ecPublicKey) ومعرّف المنحنى (secp256k1) إلى جانب بايتات النقطة. هذا التغليف يجعل أي مكتبة تشفير قياسية قادرة على قراءة المفتاح دون معرفة مسبقة بمصدره، لأن البنية تصف نفسها بنفسها.
في الوسم رقم 8 من رمز QR، يُخزَّن المفتاح العام بالبنية نفسها تقريبًا. المتحقق الذي يقرأ الوسم يستخرج البايتات، ويفسّرها بوصفها بنية SubjectPublicKeyInfo، فيحصل على النقطة الجاهزة للاستخدام في دالة التحقق. وحدة البنية بين الشهادة والرمز تبسّط عمل المطوّر: المنطق نفسه يقرأ المفتاح في الحالتين.
كيف يُوزَّع المفتاح العام داخل شهادة CSID
لا يُرسَل المفتاح العام وحده عاريًا. يُغلَّف داخل شهادة رقمية بصيغة X.509، وهي الشهادة المعروفة في الفوترة الإلكترونية باسم شهادة CSID (معرّف الختم التشفيري). انتبه إلى ترتيب الحروف: CSID وليس CCSI. هذه الشهادة هي الحاوية التي تنقل المفتاح العام إلى كل من يحتاج التحقق.
تصدر الهيئة شهادة CSID لنظامك عند التسجيل في منصة فاتورة. تربط الشهادة المفتاح العام بهوية البائع، فتقول عمليًا: «هذا المفتاح العام يخص هذا الرقم الضريبي وهذا الاسم». بهذا الربط يصبح المفتاح العام موثوقًا، لأنه مضمون من جهة معتمدة هي الهيئة، لا مجرد رقم مرسل من طرف مجهول.
شهادة X.509 تحوي حقولًا قياسية، أبرزها فيما يخصنا:
- المفتاح العام نفسه (Subject Public Key Info)، وهو محور هذه الشهادة.
- هوية صاحب الشهادة (Subject)، وتشمل اسم المنشأة ورقمها الضريبي.
- الجهة المُصدِرة (Issuer)، وهي الهيئة عبر مرجع التصديق التابع لها.
- فترة الصلاحية (Validity)، بتاريخ بداية ونهاية.
- توقيع الجهة المُصدِرة على الشهادة كلها، وهو ما يجعلها موثوقة.
عندما يستلم المشتري أو الهيئة فاتورة، يقرأ شهادة CSID المرفقة، ويستخرج منها المفتاح العام، ثم يستخدمه للتحقق من توقيع الفاتورة. الشهادة بهذا المعنى هي وسيلة النقل الموثوقة للمفتاح العام.
قراءة المفتاح العام من شهادة CSID
تأتي شهادة CSID مرمَّزة بصيغة Base64 ضمن مغلّف PEM. يمكنك فحص محتواها بأداة OpenSSL لرؤية المفتاح العام والحقول الأخرى:
مثال مختصر لما يظهره الأمر الأول من قسم المفتاح العام:
القيمة التي تبدأ بالبادئة 04 تعني أن المفتاح ممثَّل بصيغة غير مضغوطة (Uncompressed)، يتبعها إحداثي السين ثم إحداثي الصاد، كل منهما 32 بايت. هذه النقطة على منحنى secp256k1 هي المفتاح العام كاملًا. أي متحقق يقرأ هذه النقطة من الشهادة ويستخدمها مباشرة في دالة التحقق.
المفتاح العام (جوهر الشهادة)
هوية المنشأة والرقم الضريبي
الجهة المُصدِرة: الهيئة
مدة الصلاحية
توقيع الجهة المُصدِرة
نوعا شهادة CSID ودورة حياة المفتاح العام
تصدر الهيئة نوعين من شهادة CSID خلال رحلة التهيئة، ولكل منهما مفتاح عام مرتبط به. فهم الفرق يوضّح متى يتغيّر المفتاح العام الذي يراه المتحقق.
- شهادة الامتثال (Compliance CSID): تُصدَر أولًا في مرحلة الاختبار، وتُستخدم للتأكد من أن نظامك يولّد فواتير صحيحة بنية وتوقيعًا. مفتاحها العام مخصص للبيئة التجريبية.
- شهادة الإنتاج (Production CSID): تُصدَر بعد اجتياز الامتثال، وتُستخدم للفواتير الحقيقية. مفتاحها العام هو الذي يظهر فعليًا في فواتيرك المنشورة.
هذا الفصل يعني أن المفتاح العام في بيئة الاختبار يختلف عن مفتاح الإنتاج. عند الانتقال إلى الإنتاج، يولّد نظامك زوج مفاتيح جديدًا ويطلب شهادة إنتاج. المتحقق الذي يفحص فاتورة حقيقية يستخدم دائمًا مفتاح الإنتاج المضمَّن في شهادتها أو في رمزها.
لشهادة CSID فترة صلاحية محددة. عند اقترابها من الانتهاء، يجب تجديدها، وقد يصاحب التجديد توليد زوج مفاتيح جديد. هذا ما نسميه تدوير المفاتيح (Key Rotation). الفواتير القديمة تبقى قابلة للتحقق بمفتاحها العام الأصلي المحفوظ في شهادتها، بينما تحمل الفواتير الجديدة المفتاح العام الجديد.
الأثر العملي على المتحقق مهم: لا يفترض أن المفتاح العام ثابت عبر الزمن. كل فاتورة تحمل مرجعها الخاص إلى المفتاح العام الصحيح، إما عبر الشهادة المرفقة أو عبر الوسم رقم 8. لهذا يجب أن يقرأ المتحقق المفتاح من الفاتورة نفسها، لا أن يخزّن مفتاحًا واحدًا ويفترض صلاحه لكل الفواتير. يدير قيود هذا التدوير تلقائيًا، فلا تتأثر سلسلة فواتيرك بانتهاء صلاحية شهادة وتجديدها.
المفتاح العام داخل رمز الاستجابة السريعة (QR) والوسم رقم 8
في الفواتير المبسّطة الموجّهة للمستهلك (B2C)، يُطبَع رمز الاستجابة السريعة (QR) على الفاتورة. هذا الرمز ليس صورة زخرفية، بل حقل بيانات منظَّم وفق صيغة تُسمى TLV، أي ثلاثية: وسم (Tag)، وطول (Length)، وقيمة (Value). تُرتَّب الوسوم برقم متسلسل، لكل منها معنى محدد.
يحدد التوثيق الفني للهيئة تسعة وسوم في رمز QR للفواتير المبسّطة. تحمل الوسوم الأولى بيانات مرئية مثل اسم البائع ورقمه الضريبي والوقت والمبلغ وقيمة الضريبة. أما الوسوم المتقدمة فتحمل البيانات التشفيرية. يهمّنا منها على وجه التحديد الوسم رقم 8.
الوسم رقم 8 يحمل المفتاح العام للبائع (Public Key)، مُضمَّنًا داخل رمز QR نفسه. بمعنى أن المفتاح العام لا يصل المتحقق عبر شهادة CSID فحسب في حالة B2C، بل يكون حاضرًا أيضًا داخل الرمز المطبوع على الفاتورة. هذا يتيح التحقق دون الحاجة لطلب الشهادة من مصدر خارجي.
ترتيب الوسوم التشفيرية في رمز QR للفاتورة المبسّطة وفق المواصفة:
- الوسم رقم 6: بصمة الفاتورة (Invoice Hash).
- الوسم رقم 7: التوقيع الرقمي للبائع (ECDSA Signature).
- الوسم رقم 8: المفتاح العام للبائع (Public Key).
- الوسم رقم 9: توقيع الهيئة على ختم البائع (للفواتير المبسّطة بعد الربط).
بوجود الوسم رقم 8، يستطيع أي تطبيق قارئ، بما فيه تطبيق الهيئة الرسمي، أن يستخرج المفتاح العام مباشرة من الرمز، ثم يستخدمه للتحقق من التوقيع في الوسم رقم 7 مقابل البصمة في الوسم رقم 6. تكتمل بذلك حلقة التحقق محليًا من الفاتورة المطبوعة دون اتصال خارجي.
قراءة الوسوم من رمز QR
محتوى رمز QR مرمَّز بصيغة Base64. بعد فك ترميزه تحصل على سلسلة بايتات منظَّمة وفق TLV. المنطق العام للقراءة يمرّ على البايتات وسمًا تلو الآخر:
القيمة المستخرجة في الوسم رقم 8 هي بنية المفتاح العام نفسها التي رأيناها في شهادة CSID. سواء جاء المفتاح من الشهادة أو من الرمز، فهو القيمة ذاتها، لأن مصدرهما واحد: زوج المفاتيح الذي ولّده نظامك.
من يستخدم المفتاح العام: الهيئة والمشتري والمدقق
المفتاح العام أداة مشتركة بين ثلاثة أطراف، لكل منها سياق تحقق مختلف. توضيح هذه السياقات يبيّن لماذا يجب أن يكون المفتاح متاحًا علنًا.
الهيئة هي الطرف الأول. في الفواتير الضريبية بين المنشآت (B2B)، تُرسَل الفاتورة إلى منصة فاتورة قبل تسليمها للمشتري في عملية تُسمى الإقرار (Clearance). تستخدم المنصة المفتاح العام للتحقق من توقيع البائع قبل ختمها وإعادتها. أما الفواتير المبسّطة (B2C) فتُبلَّغ للهيئة خلال أربع وعشرين ساعة، وتتحقق الهيئة من توقيعها بالمفتاح العام كذلك.
المشتري هو الطرف الثاني. عند استلام فاتورة، يستطيع المشتري أو نظامه المحاسبي التحقق من أصالتها قبل اعتمادها في دفاتره. يقرأ المفتاح العام من شهادة CSID المرفقة أو من الوسم رقم 8، ويتأكد أن الفاتورة صدرت فعلًا من البائع ولم تُعدَّل. هذا يحميه من قيد فاتورة مزيّفة في حساباته.
المدقق هو الطرف الثالث. سواء كان مدققًا داخليًا أو خارجيًا أو مفتشًا من الهيئة، يستطيع لاحقًا أن يتحقق من أي فاتورة محفوظة. ما دام المفتاح العام محفوظًا مع الفاتورة، يبقى التحقق ممكنًا حتى بعد سنوات، دون حاجة للرجوع إلى البائع. هذا يدعم متطلبات حفظ السجلات والتدقيق طويل المدى.
المستهلك العادي طرف رابع غير تقني. عندما يمسح رمز QR على فاتورة مبسّطة بتطبيق الهيئة الرسمي، يجري التطبيق التحقق نيابة عنه باستخدام المفتاح العام في الوسم رقم 8، ويعرض نتيجة مبسّطة تؤكد صحة الفاتورة. هذا يمنح المستهلك ثقة فورية دون أن يعرف شيئًا عن التشفير.
في كل هذه السياقات، الأداة واحدة: المفتاح العام. تنوّع الأطراف وبقاء التحقق ممكنًا لكلٍّ منها هو بالضبط سبب جعل المفتاح عامًا. لو كان سريًا، لتعذّر على المشتري والمدقق والمستهلك التحقق، وانهارت قابلية التدقيق العلني التي تقوم عليها الفوترة الإلكترونية.
لماذا يمكن نشر المفتاح العام بأمان
قد يبدو غريبًا أن يكون مفتاح تشفيري متاحًا للجميع. السبب يكمن في طبيعة التشفير غير المتماثل. زوج المفاتيح مصمَّم بحيث تكون العملية في اتجاه واحد فقط آمنة عمليًا: من المفتاح الخاص يمكن اشتقاق المفتاح العام بسهولة، لكن العكس مستحيل حسابيًا.
هذه الاستحالة ليست افتراضًا، بل تستند إلى صعوبة رياضية معروفة باسم مسألة اللوغاريتم المتقطع على المنحنيات البيضاوية (Elliptic Curve Discrete Logarithm Problem). حلّها على منحنى بطول 256 بت يتطلب قدرة حسابية تفوق ما هو متاح اليوم بفارق هائل. لذلك ينشر العالم المفتاح العام بثقة.
الأدوار موزّعة بوضوح:
- المفتاح الخاص يبقى داخل نظام البائع، ويُستخدم للتوقيع فقط. سرّيته مطلقة. حمايته وآلية التوقيع موضوع توثيق المفتاح الخاص المنفصل.
- المفتاح العام يُوزَّع بحرية، ويُستخدم للتحقق فقط. انتشاره مقصود.
لو فُقد المفتاح العام أو نُسخ، لا ضرر. أقصى ما يستطيعه حامله هو التحقق من فواتير وقّعها البائع أصلًا، وهي عملية متاحة للجميع بطبيعتها. أما إصدار فاتورة موقّعة باسم البائع فيتطلب المفتاح الخاص، وهو ما لا يصل إليه أحد. هذا الفصل هو ما يجعل النظام آمنًا وقابلًا للتحقق العلني في آنٍ واحد.
نقطة دقيقة تستحق التوضيح: ثقة المتحقق ليست في المفتاح العام بذاته، بل في الشهادة التي تحمله. لو أرسل مهاجم مفتاحًا عامًا من زوج مفاتيح يملكه هو، فلن يقبله المتحقق، لأن شهادة CSID الصحيحة موقّعة من الهيئة وتربط المفتاح العام بالرقم الضريبي الفعلي للبائع. توقيع الهيئة على الشهادة هو مصدر الثقة، لا المفتاح المجرّد.
فوترة إلكترونية تتولّى التشفير عنك بالكامل
يدير قيود شهادة CSID والمفاتيح والتوقيع والتحقق تلقائيًا، فتصدر فواتير متوافقة مع المرحلة الثانية دون أن تلمس سطر شيفرة واحدًا.
كيف يتعامل قيود مع المفتاح العام نيابة عنك
كل ما سبق يجري خلف الكواليس في الأنظمة المتوافقة. يدير برنامج الفاتورة الإلكترونية من قيود دورة حياة المفتاح كاملة، فلا تحتاج إلى التعامل مع أي تفصيل تشفيري يدويًا.
عند تهيئة حسابك للمرحلة الثانية، يولّد قيود زوج المفاتيح، ويرسل طلب الشهادة إلى منصة فاتورة، ويستقبل شهادة CSID التي تحمل مفتاحك العام موثّقًا من الهيئة. بعدها، يوقّع كل فاتورة بالمفتاح الخاص، ويضمّن المفتاح العام في الوسم رقم 8 من رمز QR للفواتير المبسّطة، ويرفق الشهادة حيث يلزم. هذه العملية فورية مع كل فاتورة تصدرها.
الدور الذي يبقى عليك بسيط ومحدد: يجب أن تسجّل شهادتك مع الهيئة بنفسك عبر منصة فاتورة، ويرشدك قيود خلال هذه الخطوة. الهيئة لا تُهيَّأ نيابة عنك تلقائيًا، لكن ما عداها من تفاصيل المفاتيح والتوقيع والتحقق يجري آليًا داخل النظام.
الفائدة العملية أنك تحصل على فواتير قابلة للتحقق من الهيئة ومن عملائك دون أن تفهم الرياضيات وراءها. النظام يضمن أن يكون مفتاحك العام في مكانه الصحيح: داخل الشهادة، وداخل الرمز، ومتاحًا لكل متحقق، بينما يبقى مفتاحك الخاص محميًا.
المفتاح العام مقابل المفتاح الخاص: فصل الأدوار
لتثبيت الصورة، يساعد وضع الدورين جنبًا إلى جنب. تذكّر أن هذا المقال يخص المفتاح العام، وأن تفاصيل حماية المفتاح الخاص وآلية التوقيع لها توثيقها المنفصل ضمن مجموعة الفوترة الإلكترونية.
- المفتاح العام: يُستخدم للتحقق. يُوزَّع علنًا داخل شهادة CSID وفي الوسم رقم 8 من رمز QR. يصل إليه الهيئة والمشتري وأي مدقق. نشره آمن.
- المفتاح الخاص: يُستخدم للتوقيع. يبقى سرًا داخل نظام البائع. لا يخرج إلى أي طرف. سرّيته شرط أمان النظام كله.
العلاقة بينهما رياضية ثابتة: ما وقّعه المفتاح الخاص لا يتحقق منه إلا المفتاح العام المقابل. ولأن استخراج الخاص من العام مستحيل عمليًا، يمكن نشر العام دون مساس بالخاص. هذا التوازن هو ما يجعل الفوترة الإلكترونية قابلة للتدقيق العلني ومحميةً من التزوير في الوقت ذاته.
للتعمق في الجانب الآخر، راجع توثيق التوقيع الرقمي في الفاتورة الإلكترونية، الذي يشرح آلية التوقيع التي تنتج القيمة التي يتحقق منها المفتاح العام.
أسئلة شائعة حول المفتاح العام
هل يتغيّر المفتاح العام مع كل فاتورة؟ لا. المفتاح العام ثابت طوال صلاحية شهادة CSID، فكل الفواتير الصادرة خلال تلك الفترة تحمل المفتاح العام نفسه. يتغيّر فقط عند تجديد الشهادة أو تدوير المفاتيح.
إن سرّب أحدهم مفتاحي العام، هل أصدر فواتير باسمي؟ لا. المفتاح العام للتحقق فقط، ولا يمكّن حامله من التوقيع. إصدار فاتورة موقّعة يتطلب المفتاح الخاص المحمي داخل نظامك.
ما الفرق بين المفتاح العام في الشهادة والمفتاح العام في رمز QR؟ لا فرق في القيمة. كلاهما المفتاح العام نفسه لنفس زوج المفاتيح. الشهادة وسيلة نقل موثّقة من الهيئة، والوسم رقم 8 يضمّن المفتاح مباشرة في الفاتورة المبسّطة ليسهّل التحقق المحلي.
هل أحتاج لقراءة المفتاح العام يدويًا؟ إن كنت مستخدمًا لنظام متوافق مثل قيود، فلا. النظام يتولّى التوليد والتضمين والتحقق. القراءة اليدوية تهمّ المطوّرين الذين يبنون أدوات تحقق خاصة بهم.
خلاصة عملية للمطوّر
إن كنت تبني أو تتكامل مع نظام فوترة، فالنقاط التالية تلخّص ما يخص المفتاح العام:
- المفتاح العام أداة تحقق فقط. لا يوقّع ولا يحمل سرًا.
- مصدره زوج مفاتيح ECDSA على منحنى secp256k1 بطول 256 بت.
- يصل المتحقق عبر شهادة CSID بصيغة X.509، وأيضًا عبر الوسم رقم 8 في رمز QR للفواتير المبسّطة.
- ثقة المتحقق في الشهادة الموقّعة من الهيئة، لا في المفتاح المجرّد.
- نشره آمن لأن استخراج المفتاح الخاص منه مستحيل عمليًا.
إذا أردت كل هذا دون بناء طبقة تشفير بنفسك، يتولّى قيود التوليد والتوقيع والتضمين والربط نيابة عنك، فتصدر فواتير متوافقة مع المرحلة الثانية من اليوم الأول.