تكامل توقيع الرمز السحابي مع Travis CI

توضح هذه المقالة كيف يمكنك تنفيذ توقيع رمز آلي على Travis CI من خلال دمج eSigner CodeSignTool في خط الأنابيب الخاص بك. 

eSigner هو نظامنا الأساسي لتوقيع الرموز عن بُعد والذي يوفر نفس مستوى الأمان مثل رموز USB المميزة و HSMS المتصل بالشبكة ولكن بطريقة أكثر كفاءة وبديهية.  جزء من مجموعة أدوات eSigner هو CodeSignTool: أداة سطر أوامر آمنة ومثالية لتنفيذ تسجيل كود المؤسسة في بيئات CI / CD مختلفة بما في ذلك Travis.
SSL.com's EV توقيع الكود تساعد الشهادات في حماية التعليمات البرمجية الخاصة بك من العبث والتلاعب غير المصرح به بأعلى مستوى من التحقق من الصحة ، وهي متاحة مقابل أقل من $ 249 سنويا. يمكنك أيضا استخدام شهادة توقيع رمز EV الخاص بك على نطاق واسع في السحابة باستخدام eSigner.

اطلب الان

متغيرات البيئة

  • USERNAME: اسم مستخدم حساب SSL.com. (مطلوب)
  • كلمة السر: كلمة مرور حساب SSL.com (مطلوب)
  • CREDENTIAL_ID: معرف الاعتماد لتوقيع الشهادة. إذا تم حذف credential_id وكان المستخدم لديه شهادة توقيع رمز eSigner واحدة فقط ، فسيتم تعيين CodeSignTool افتراضيًا لذلك. إذا كان المستخدم لديه أكثر من شهادة توقيع رمز ، فإن هذه المعلمة إلزامية. (مطلوب)
  • TOTP_SECRET: OAuth TOTP Secret. يمكنك الوصول إلى معلومات مفصلة عن https://www.ssl.com/how-to/automate-esigner-ev-code-signing (مطلوب)
  • البيئة_NAME : بيئة "TEST" أو "PROD". (مطلوب)

المدخلات

  • input_file_path: مسار كائن التعليمات البرمجية المراد توقيعه. (مطلوب)
  • الإخراج_dir_path: الدليل حيث سيتم كتابة كائن (كائنات) التعليمات البرمجية الموقعة. إذا تم حذف output_path ، فسيتم استبدال الملف المحدد في -file_path بالملف الموقع.

Java Code (Maven) JAR مثال لتوقيع سير العمل

إنشاء مشروع

في إطار المشروع ، قم بإنشاء ملف لـ Travis

تحديد مكونات سير العمل

  1. ضع بنية وحدة المعالجة المركزية لتشغيل الوظيفة

القوس: amd64

  1. اللغة الافتراضية لإجراء الاختبارات بها

اللغة: جافا

  1. حدد نظام التشغيل لتشغيل المهمة عليه

نظام التشغيل: لينكس

  1. اكتب توزيع Ubuntu الذي سيتم استخدامه

dist: الكترونية

  1. تحديد متغيرات البيئة عالميا. تتجاوز خاصية مستوى الوظيفة المتغيرات العامة.
  • لاحظ أن TERM = dumb مطلوب فقط لمثيلات مشروع Gradle.
  • ضمن ENVIRONMENT_NAME ، ضع "TEST" للتوقيع التجريبي و "PROD" للتوقيع المباشر.

البيئة المحيطة:

  عالمي:

    - PROJECT_NAME = "HelloWorld"

    - PROJECT_VERSION = ”0.0.1 ″

    - TERM = أخرس

    - ENVIRONMENT_NAME = ”TEST”

  1. حدد ترتيب المراحل. يجب إكمال جميع الوظائف في مرحلة واحدة قبل تنفيذ المرحلة التالية.

مراحل:

  - يبني

  - إشارة

حدد مخطط مرحلة البناء  

وظائف:

  تتضمن:

        - المرحلة: بناء

  1. اسم الوظيفة

      الاسم: بناء المخضرم

  1. توزيع أوبونتو المراد استخدامه

      dist: الكترونية

  1. استخدم أمر عامل الإرساء للتوقيع  

      الخدمات:

        - عامل ميناء

  1. استخدم dotnet-cli لبناء المشروع

      اللغة: جافا

  1. نسخة جافا لبناء المشروع

      جدك:

      - اوراكلجدك 17

  1. ذاكرة التخزين المؤقت دليل m2 من أجل الإسراع

      ذاكرة التخزين المؤقت:

        الدلائل:

        - $ HOME / .m2

  1. اكتب البرنامج النصي قبل تشغيله قبل إنشاء المشروع

      قبل_النص:

        # إنشاء أدلة للقطع الأثرية

        - mkdir -p $ {TRAVIS_BUILD_DIR} / قطعة أثرية

        - mkdir -p $ {TRAVIS_BUILD_DIR} / الحزم

        # تعيين خيارات بناء المخضرم

        - تصدير MAVEN_CLI_OPTS = "- وضع الدُفعات - الأخطاء - فشل في النهاية - عرض الإصدار - التثبيتAtEnd = صحيح -DdeployAtEnd = صحيح"

  1. اكتب السيناريو لبناء المشروع.
  • في سير عمل مثال التوقيع هذا ، تم إنشاء أنواع متعددة من المشاريع. هذا هو سبب الاحتفاظ بملفات أنواع المشاريع المختلفة عن طريق إنشاء مجلدات فرعية. تم إنشاء مجلد فرعي باسم "java" لمشاريع Java. في لقطة الشاشة التجريبية أعلاه ، لم تكن هناك حاجة لإنشاء مجلد فرعي باسم "java" لذلك لم يتم تضمينه في البرنامج النصي.

      النصي:

        # بناء مشروع Maven مع خيارات Maven

        - mvn $ MAVEN_CLI_OPTS تثبيت نظيف -f java / pom.xml

         # نسخ القطع الأثرية المبنية إلى دليل القطع الأثرية

        - cp java / target / $ {PROJECT_NAME} - $ {PROJECT_VERSION} .jar $ {TRAVIS_BUILD_DIR} /pack / $ {PROJECT_NAME} .jar

     

  1. حدد كيفية تحديد قائمة بالملفات والأدلة التي يجب إرفاقها بالوظيفة إذا نجحت.

      مساحات العمل:

        يزيد:

          الاسم: القطع الأثرية المخضرمة

          مسارات:

            # حفظ الأداة من أجل استخدام وظيفة التوقيع

            - {TRAVIS_BUILD_DIR} دولار / حزمة / $ {PROJECT_NAME} .jar

حدد مرحلة التوقيع

 - المرحلة: علامة

  1. اكتب اسم الوظيفة

      الاسم: ملف تسجيل-جرة

  1. ضع توزيع Ubuntu للاستخدام

      dist: الكترونية

  1. استخدم أمر Docker للتوقيع  

      الخدمات:

        - عامل ميناء

     

  1. تحديد متغيرات البيئة لوظائف محددة.
  • في لقطة الشاشة أعلاه ، تم تحديد أمر sign مباشرة في برنامج Sign script وليس ضمن متغيرات البيئة. بأوراسكوم تليكوم القابضة يمكن للطرق التوقيع بشكل صحيح مع TravisCI.

      البيئة المحيطة:

        COMMAND = "تسجيل"

  1. استخدم dotnet-cli لبناء المشروع

      اللغة: جافا

  1. نسخة جافا لبناء المشروع

      جدك:

      - اوراكلجدك 17

  1. قبل تشغيل البرنامج النصي قبل إنشاء المشروع

      قبل_النص:

        # إنشاء أدلة للقطع الأثرية

        - mkdir -p $ {TRAVIS_BUILD_DIR} / قطعة أثرية

        - mkdir -p $ {TRAVIS_BUILD_DIR} / الحزم

     

  1. سيناريو لبناء المشروع

      النصي:

        # Docker سحب صورة CodeSigner Docker

        - عامل ميناء سحب ghcr.io/sslcom/codesigner: أحدث

        # توقيع قطعة أثرية مع صورة CodeSigner Docker

        - تشغيل عامل الإرساء -i -rm -dns 8.8.8.8- مضيف الشبكة -حجم $ {TRAVIS_BUILD_DIR} / الحزم: / codeign / أمثلة

          –حجم $ {TRAVIS_BUILD_DIR} / artifacts: / codeign / output

          -e USERNAME = $ {USERNAME} -e PASSWORD = $ {PASSWORD} -e CREDENTIAL_ID = $ {CREDENTIAL_ID} -e TOTP_SECRET = $ {TOTP_SECRET}

          -e ENVIRONMENT_NAME = $ {ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner: أحدث $ {COMMAND}

          -input_file_path = / codeign / أمثلة / $ {PROJECT_NAME} .jar -output_dir_path = / codeign / output

  1. يستخدم لتحديد قائمة بالملفات والدلائل التي يجب إرفاقها بالوظيفة إذا نجحت.

      مساحات العمل:

        استعمال:

          - مخضرم-جرة-التحف

        يزيد:

          الاسم: ملف جرة موقع

          مسارات:

            # حفظ الأداة الموقعة

            - {TRAVIS_BUILD_DIR} دولار / قطعة أثرية / $ {PROJECT_NAME} .jar

SSL.com's EV توقيع الكود تساعد الشهادات في حماية التعليمات البرمجية الخاصة بك من العبث والتلاعب غير المصرح به بأعلى مستوى من التحقق من الصحة ، وهي متاحة مقابل أقل من $ 249 سنويا. يمكنك أيضا استخدام شهادة توقيع رمز EV الخاص بك على نطاق واسع في السحابة باستخدام eSigner.

اطلب الان

تحديد متغيرات البيئة

اذهب إلى ترافيس وانقر فوق الإعدادات زر

اجمع قيمة كل متغير

انتقل لأسفل إلى متغيرات البيئة القسم وانقر فوق الزر "إضافة" لإضافة قيمة لكل متغير

قم بإنشاء Github repo

ابحث عن أوامر الدفع على جيثب

اكتب أوامر الدفع في محطة طرفية على المحرر الخاص بك

انتظر حتى تكتمل مهمة البناء

في Travis ، يجب أن تبدأ مهمة الإنشاء تلقائيًا بعد دفع الكود.

ابدأ مرحلة توقيع الكود

انقر على إشارة قسم ل CodeSignTool لبدء عملية التوقيع

انتظر حتى ينتهي جهازك الظاهري من التمهيد

تأكد من نجاح توقيع الرمز

يمكنك الرجوع إلى SSL.com مستودع Github الذي يحتوي على أكواد المصدر لصورة عامل الإرساء ويصف كيفية استخدامها: https://github.com/SSLcom/ci-images

عينة خط أنابيب ترافيس CI

تحقق من عينة خط أنابيب Travis CI التي أنشأناها github.com/SSLcom/codesigner-travisci-sample

أدلة تكامل التوقيع عن بعد لخدمة CI / CD

هل تحتاج إلى حلول مخصصة؟ 

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

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

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

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

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

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

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