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

هذا برنامج تعليمي حول كيفية القيام بالتوقيع الآلي للرمز على GitLab CI باستخدام eSigner CodeSignTool. 

CodeSignTool هي أداة مساعدة آمنة لسطر الأوامر تشكل جزءًا من eSigner: بيئة توقيع التعليمات البرمجية السحابية الخاصة بنا والتي تفيد ناشري البرامج والمطورين بقدرتها على إجراء تسجيل كود المؤسسة بأمان وكفاءة بطريقة غير معقدة.  يُظهر نموذج سير العمل أدناه رمز .NET DLL الذي يتم توقيعه على GitLab CI باستخدام eSigner.

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 بالملف الموقع.

مثال على سير عمل توقيع .NET Code DLL

قم بإنشاء ملف yml

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

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

تحديد متغيرات البيئة عالميا. تتجاوز خاصية مستوى الوظيفة المتغيرات العامة.

  • تُستخدم متغيرات البيئة لجعل العينات أكثر قابلية للقراءة. في لقطة الشاشة أعلاه لنموذج سير العمل ، تم حذف PROJECT_NAME و PROJECT_VERSION و DOTNET_VERSION اختياريًا. التوقيع لا يزال من الممكن المضي قدما مع هذه الإغفالات.  
  • ضمن ENVIRONMENT_NAME ، ضع "TEST" للتوقيع التجريبي و "PROD" للتوقيع المباشر.
المتغيرات: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
 

تحديد مرحلة البناء

يوجد أدناه تعريف وظيفتك لبناء قطعة أثرية dll

بناء دوت نت:

 

  1. حدد المرحلة التي ستسير فيها الوظيفة.
  المرحلة: بناء

 

  1. ضع الاسم الكامل للصورة التي يجب استخدامها. يجب أن يحتوي على جزء التسجيل إذا لزم الأمر.
 الصورة: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. تحديد البرامج النصية التي يجب تشغيلها * قبل * المهمة. يمكن تعيينها عالميًا أو لكل وظيفة.
before_script: - mkdir -p $ {CI_PROJECT_DIR} / artifacts - mkdir -p $ {CI_PROJECT_DIR} / الحزم

 

  1. تحديد البرامج النصية شل التي نفذها العداء. بناء الأداة DLL
البرنامج النصي: - dotnet build dotnet / $ {PROJECT_NAME} .csproj -c Release - cp dotnet / bin / Release / netcoreapp $ {DOTNET_VERSION} / $ {PROJECT_NAME} - $ {PROJECT_VERSION} .dll $ {CI_PROJECT_DIR} / packs / $ { PROJECT_NAME} .dll

 

  1. حدد قائمة بالملفات والأدلة التي يجب إرفاقها بالوظيفة إذا نجحت.
  • ال 'تنتهي الصلاحيةتسمح الخاصية "بحذف الملف بعد فترة زمنية معينة. استخدامه اختياري. هذا هو السبب في أن لقطة شاشة مثال سير العمل أعلاه لا تعرض هذه الخاصية.
القطع الأثرية: المسارات: - $ {CI_PROJECT_DIR} /packages/HelloWorld.dll expire_in: 5 دقائق
 

حدد مرحلة التسجيل

يوجد أدناه تعريف وظيفتك للتوقيع على الأداة dll

القطع الأثرية Sign-dotnet-:

 

  1. حدد المرحلة التي ستسير فيها الوظيفة.
  المرحلة: تسجيل

 

  1. ضع الاسم الكامل للصورة التي يجب استخدامها. يجب أن يحتوي على جزء التسجيل إذا لزم الأمر.
 الصورة: عامل الإرساء: 19.03.0

 

  1. تحديد الخدمات. يشبه هذا خاصية "image" ، ولكنه سيربط الخدمات المحددة بحاوية "image".
الخدمات: - docker: 19.03.0-dind

 

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

 

  1. تحديد البرامج النصية التي يجب تشغيلها * قبل * المهمة. يمكن تعيينها عالميًا أو لكل وظيفة.
  before_script: - mkdir -p $ {CI_PROJECT_DIR} / artifacts - mkdir -p $ {CI_PROJECT_DIR} / الحزم

 

  1. ضع نصوص شل التي نفذها العداء. وقع NET dll مع صورة CodeSignTool Docker
البرنامج النصي: - docker pull ghcr.io/sslcom/codesigner: أحدث - تشغيل عامل الإرساء -i --rm --dns 8.8.8.8 - مضيف الشبكة - المجلد $ {CI_PROJECT_DIR} / الحزم: / codeign /amples --volume $ {CI_PROJECT_DIR} / artifacts: / codeign / output -e USERNAME = $ {USERNAME} -e PASSWORD = $ {PASSWORD} -e CREDENTIAL_ID = $ {CREDENTIAL_ID} -e TOTP_SECRET = $ {TOTP_SECRET} -e ENVIRONMENT_NAME = ghcr.io/sslcom/codesigner:latest $ {COMMAND} -input_file_path = / codeign / أمثلة / $ {PROJECT_NAME} .dll -output_dir_path = / codeign / output

 

  1. اكتب البرنامج النصي الذي يمكن استخدامه لتحديد قائمة الملفات والأدلة التي يجب إرفاقها بالمهمة إذا نجحت.
القطع الأثرية: المسارات: - $ {CI_PROJECT_DIR} / artifacts / $ {PROJECT_NAME} .dll expire_in: يوم واحد

 

  1. حدد قائمة بأسماء الوظائف من المراحل السابقة التي يجب تحميل العناصر الأثرية منها.
التبعيات: - build-dotnet

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

اطلب الان

ابدأ مرحلة البناء

قم بإنشاء مستودع

الرجوع إلى تعليمات سطر الأوامر على Gitlab كما هو موضح في لقطة الشاشة أدناه

ادفع المجلد الخاص بك

قم بذلك عن طريق النقر فوق محطة في القائمة ، يليها مبنى جديد.

اكتب البرنامج النصي للدفع على الوحدة الطرفية لدفع المشروع 

انقر فوق الزر إنشاء

بعد تشغيل خط الأنابيب ، تابع البناء

تحقق مما إذا كان البناء ناجحًا  

ابدأ مرحلة التسجيل

المضي قدما في التوقيع على الأداة

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

يمكنك الآن تنزيل الملف الموقع

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

عينة Gitlab CI Pipeline

تحقق من نموذج خط أنابيب Gitlab CI الذي أنشأناه github.com/SSLcom/codesigner-gitlabci-sample

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

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

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

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

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

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

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

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

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