خبرة في استخدام تقنية Rutoken لتسجيل المستخدمين وترخيصهم في النظام (الجزء الأول)

يوم جيد!

في الجزء السابق لقد نجحنا في إنشاء مركز الشهادات الخاص بنا. كيف يمكن أن تكون مفيدة لأغراضنا؟

باستخدام مرجع مصدق محلي، يمكننا إصدار الشهادات وكذلك التحقق من التوقيعات على هذه الشهادات.

عند إصدار شهادة لمستخدم، يستخدم المرجع المصدق طلب شهادة خاص Pkcs#10، والذي يحتوي على تنسيق الملف ".csr". يحتوي هذا الطلب على تسلسل مشفر يعرف المرجع المصدق كيفية تحليله بشكل صحيح. يحتوي الطلب على كل من المفتاح العام للمستخدم وبيانات إنشاء شهادة (مصفوفة اقترانية تحتوي على بيانات حول المستخدم).

سننظر في كيفية تلقي طلب للحصول على شهادة في المقالة التالية، وفي هذه المقالة أريد أن أقدم الأوامر الرئيسية للمرجع المصدق الذي سيساعدنا على إكمال مهمتنا على الجانب الخلفي.

لذلك علينا أولاً إنشاء شهادة. للقيام بذلك نستخدم الأمر:

openssl ca -batch -in user.csr -out user.crt

ca هو أمر openSSL المتعلق بالمرجع المصدق،
- الدفعة - إلغاء طلبات التأكيد عند إنشاء شهادة.
user.csr — طلب إنشاء شهادة (ملف بتنسيق .csr).
user.crt - الشهادة (نتيجة الأمر).

لكي يعمل هذا الأمر، يجب تكوين المرجع المصدق تمامًا كما هو موضح في الجزء السابق من المقال. بخلاف ذلك، سيتعين عليك تحديد موقع الشهادة الجذرية للمرجع المصدق بالإضافة إلى ذلك.

أمر التحقق من الشهادة:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file

cms هو أمر openSSL يُستخدم لتوقيع البيانات والتحقق منها وتشفيرها وعمليات التشفير الأخرى باستخدام openSSL.

-التحقق - في هذه الحالة نقوم بالتحقق من الشهادة.

Authenticate.cms - ملف يحتوي على بيانات موقعة بالشهادة التي تم إصدارها بواسطة الأمر السابق.

-إعلام PEM - يتم استخدام تنسيق PEM.

-CAfile /Users/……/demoCA/ca.crt - المسار إلى الشهادة الجذرية. (بدون هذا الأمر لم يعمل بالنسبة لي، على الرغم من أن المسارات إلى ca.crt كانت مكتوبة في ملف openssl.cfg)

-out data.file - أقوم بإرسال البيانات التي تم فك تشفيرها إلى الملف data.file.

خوارزمية استخدام المرجع المصدق على الجانب الخلفي هي كما يلي:

  • تسجيل المستخدم:
    1. نتلقى طلبًا لإنشاء شهادة وحفظها في ملف user.csr.
    2. نقوم بحفظ الأمر الأول من هذه المقالة في ملف بالامتداد .bat أو .cmd. نقوم بتشغيل هذا الملف من خلال التعليمات البرمجية، بعد أن قمنا مسبقًا بحفظ طلب إنشاء شهادة إلى ملف user.csr. نتلقى ملفًا بشهادة user.crt.
    3. نقرأ ملف user.crt ونرسله إلى العميل.

  • إذن المستخدم:
    1. نتلقى البيانات الموقعة من العميل ونحفظها في ملف Authenticate.cms.
    2. احفظ الأمر الثاني من هذه المقالة في ملف بالملحق .bat أو .cmd. نقوم بتشغيل هذا الملف من الكود، بعد أن قمنا مسبقًا بحفظ البيانات الموقعة من الخادم في Authenticate.cms. نتلقى ملفًا يحتوي على بيانات data.file التي تم فك تشفيرها.
    3. نقرأ ملف data.file ونتحقق من صحة هذه البيانات. ما هو موضح بالضبط للتحقق في المادة الأولى. إذا كانت البيانات صحيحة، يعتبر إذن المستخدم ناجحًا.

لتنفيذ هذه الخوارزميات، يمكنك استخدام أي لغة برمجة يتم استخدامها لكتابة الواجهة الخلفية.

في المقالة التالية سننظر في كيفية العمل مع البرنامج المساعد Retoken.

شكرا لك!

المصدر: www.habr.com

إضافة تعليق