Microsoft Authenticode Code Signing في Linux باستخدام Jsign

Jsign هي أداة جافا مفتوحة المصدر ومستقلة عن النظام الأساسي لتوقيع كود Microsoft Authenticode. يسهل دمج Jsign مع أنظمة الإنشاء مثل Maven و Gradle و Ant ، أو يمكن استخدامها مباشرة من سطر الأوامر.

في هذا الكيفية سنغطي استخدام Jsign من سطر أوامر Linux لـ توقيع كود OV / IV و توقيع رمز EV. نظرًا لأن Jsign يعتمد على Java ، يمكنك أيضًا استخدامه على أنظمة Windows و MacOS.

قم بتثبيت Jsign

أولاً ، سيتعين عليك تنزيل Jsign وتثبيته. ال موقع ويب Jsign يتضمن روابط إلى حزم دبيان و RPM لسهولة التثبيت على أنظمة Linux الأكثر شيوعًا ، بالإضافة إلى ملف .jar ملف.

توقيع كود OV / IV

ينطبق هذا القسم فقط على شهادات توقيع رمز التحقق من صحة الأفراد (IV) والتحقق من صحة المؤسسة (OV) التي تم طلبها قبل 1 يونيو 2023. ابتداء من 1 يونيو 2023، تم بدء إصدار شهادات توقيع الرمز IV و OV الخاصة بـ SSL.com إما وفقًا لمعيار معالجة المعلومات الفيدرالي 140-2 (FIPS 140-2) أو من خلال خدمة توقيع الرموز السحابية eSigner. 

بالنسبة لتوقيع رمز OV/IV، يمكنك استخدام شهادة مخزنة في ملف Java keystore أو ملف PKCS#12 (PFX). في كافة أمثلة التعليمات البرمجية أدناه، استبدل القيم الموضحة بالأحرف الكبيرة بقيمك الفعلية.

  1. أولاً ، استخدم ملف keytool الأمر للحصول على alias قيمة لاستخدامها عند التوقيع:
    أداة المفاتيح -قائمة -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. تحقق من إخراج ملف keytool الأمر لسطر يبدأ ب Alias name:.
    نوع Keystore: مزود Keystore PKCS12: SUN يحتوي مخزن المفاتيح الخاص بك على إدخال واحد الاسم المستعار: 1 تاريخ الإنشاء: 1 يناير 18 نوع الإدخال: PrivateKeyEntry طول سلسلة الشهادة: 2021 ...

    في المثال أعلاه ، Alias name is 1.

  3. استخدم أمرًا مثل ما يلي للتوقيع على ملف وطابعه الزمني:
    • jsign أمر مثبت على مستوى النظام:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • مع Jsigner .jar ملف:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- إشارة
  4. إذا كان الأمر الخاص بك ناجحًا ، يجب أن ترى الإخراج مثل ما يلي:
    إضافة توقيع رمز المصادقة إلى example.exe
ملحوظة: بشكل افتراضي ، يدعم SSL.com الطوابع الزمنية من مفاتيح ECDSA.

إذا واجهت هذا الخطأ: The timestamp certificate does not meet a minimum public key length requirement، يجب عليك الاتصال ببائع البرنامج للسماح بالطوابع الزمنية من مفاتيح ECDSA.

إذا لم تكن هناك طريقة تسمح لمورّد البرامج لديك باستخدام نقطة النهاية العادية ، فيمكنك استخدام نقطة النهاية القديمة هذه http://ts.ssl.com/legacy للحصول على طابع زمني من وحدة طابع زمني RSA.

توقيع رمز EV

يمكنك أيضًا استخدام Jsign مع شهادة توقيع رمز EV. يستخدم المثال هنا SSL.com شهادة توقيع رمز EV مثبتة على أ تم التحقق من صحة FIPS 140-2 رمز USB لمفتاح الأمان.

  1. أولا ، تأكد من ذلك OpenSC مثبت على نظامك حتى يتمكن من التواصل مع الرمز المميز الخاص بك عبر واجهة برمجة تطبيقات PKCS # 11. في التوزيعات المستندة إلى Debian مثل Ubuntu ، يمكنك تثبيت OpenSC معها apt:
    سودو ملائمة تثبيت openc
  2. بعد ذلك ، قم بإنشاء ملف تكوين. اسم الملف تعسفي ، ولكن بالنسبة للأوامر الموضحة أدناه سنستخدمها eToken.cfg. لاحظ أن المسار إلى opensc-pkcs11.so قد يختلف في تثبيت OpenSC الخاص بك ، لذا تحقق قبل إنشاء ملف التكوين.
    name = وصف OpenSC-PKCS11 = SunPKCS11 عبر مكتبة OpenSC = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. استخدم keytool الأمر للحصول على alias قيمة لاستخدامها عند التوقيع:
    keytool -list -v -keystore NONE -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. تحقق من إخراج ملف keytool الأمر لسطر يبدأ ب Alias name:. إذا كان الرمز المميز الخاص بك يحتوي على شهادات متعددة ، فتحقق من تواريخ الصلاحية والمُصدر في المخرجات مقابل شهادتك. لاحظ أن شهادات توقيع رمز EV الصادرة على YubiKey من SSL.com يجب أن يكون لها اسم مستعار Certificate for PIV Authentication.
    الاسم المستعار: شهادة من أجل مصادقة PIV نوع الإدخال: PrivateKeyEntry طول سلسلة الشهادة: 1 شهادة [1]: المالك: OID.1.3.6.1.4.1.311.60.2.1.3 = US، OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada، OID.20081614243 = مؤسسة خاصة، CN = SSL Corp، SERIALNUMBER = NV2، O = SSL Corp، L = Houston، ST = TX، C = مُصدر الولايات المتحدة: CN = SSL.com وسيط توقيع رمز EV CA RSA R7299، O = SSL Corp، L = Houston، ST = Texas، C = US الرقم التسلسلي: 93f57a3bac6570c781580f63172e17 صالح من: الجمعة 12 أبريل 46:04:2020 EDT 17 حتى: السبت أبريل 12 46:04:2021 EDT XNUMX
  5. استخدم أمرًا مثل ما يلي للتوقيع على ملف وطابعه الزمني:
    • jsign أمر مثبت على مستوى النظام:
      jsign --keystore eToken.cfg --alias "شهادة لمصادقة PIV" - نوع المتجر PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • مع Jsigner .jar ملف:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "شهادة مصادقة PIV" - نوع المتجر PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE -توقع
  6. إذا كان الأمر الخاص بك ناجحًا ، يجب أن ترى الإخراج مثل ما يلي:
    إضافة توقيع رمز المصادقة إلى example.exe
ملحوظة: بشكل افتراضي ، يدعم SSL.com الطوابع الزمنية من مفاتيح ECDSA.

إذا واجهت هذا الخطأ: The timestamp certificate does not meet a minimum public key length requirement، يجب عليك الاتصال ببائع البرنامج للسماح بالطوابع الزمنية من مفاتيح ECDSA.

إذا لم تكن هناك طريقة تسمح لمورّد البرامج لديك باستخدام نقطة النهاية العادية ، فيمكنك استخدام نقطة النهاية القديمة هذه http://ts.ssl.com/legacy للحصول على طابع زمني من وحدة طابع زمني RSA.

تحقق من التوقيع الرقمي

  1. يمكنك التحقق من صلاحية توقيعك الرقمي من خلال عرض تفاصيل التوقيع في Windows.
    التوقيع الرقمي على ما يرام
  2. يمكنك أيضا استخدام أداة SignTool في Windows للتحقق من التوقيع الرقمي.
    تحقق Signtool.exe / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' الملف: C: \ Users \ Aaron Russell \ Desktop \ example.exe Index Algorithm Timestamp =========== ============================== 0 sha256 RFC3161 تم التحقق بنجاح: C: \ Users \ Aaron Russell \ Desktop \ example.exe

اشترك في النشرة الإخبارية SSL.com

لا تفوت المقالات والتحديثات الجديدة من SSL.com

ابق على اطلاع وآمن

SSL.com هي شركة عالمية رائدة في مجال الأمن السيبراني، PKI والشهادات الرقمية. قم بالتسجيل لتلقي آخر أخبار الصناعة والنصائح وإعلانات المنتجات من SSL.com.

نحن نحب ملاحظاتك

شارك في استبياننا وأخبرنا بأفكارك حول عملية الشراء الأخيرة.