CodeSignTool عبارة عن أداة سطر أوامر Java متعددة الأنظمة الأساسية وآمنة وموجهة نحو الخصوصية للتوقيع عن بُعد على كائنات شفرة Microsoft Authenticode و Java باستخدام التوقيع الإلكتروني شهادات توقيع رمز EV. يتم إرسال تجزئة الملفات إلى SSL.com للتوقيع حتى لا يتم إرسال الرمز نفسه. يعد هذا مثاليًا عند الحاجة إلى توقيع الملفات الحساسة ، ولكن لا ينبغي إرسالها عبر السلك للتوقيع. يعد CodeSignTool أيضًا مثاليًا لعمليات الدُفعات المؤتمتة للتوقيعات ذات الحجم الكبير أو التكامل في تدفقات عمل خطوط أنابيب CI / CD الحالية.
لمعرفة جميع أنواع الملفات التي يستطيع CodeSignTool التوقيع عليها ، يرجى الرجوع إلى هذه المقالة: أنواع الملفات المدعومة من eSigner
للحصول على إرشادات حول كيفية أتمتة توقيع رمز EV باستخدام Signtool.exe أو certutil.exe من فضلك اعد النظر هذا كيف.
إذا كنت تبحث عن استخدام esigner لتوقيع المستندات بدلاً من ذلك ، من فضلك الرجوع إلى دليل DocSignTool هذا.
تثبيت CodeSignTool
لتثبيت الإصدار الحالي من CodeSignTool ، ما عليك سوى تنزيل وفك ضغط الملف الصحيح لنظام التشغيل الخاص بك:
لاحظ أن تنزيل Windows يتضمن وقت تشغيل Java ، لكن إصدار Linux / macOS يتطلب تثبيت Java runtime على جهاز الكمبيوتر الخاص بك. إصدار Windows للأمر عبارة عن ملف دفعي (CodeSignTool.bat
) وإصدار Linux / macOS عبارة عن برنامج نصي شل (CodeSignTool.sh
).
نظرة عامة على استخدام CodeSignTool
الاستخدام: CodeSignTool [-hV] [COMMAND] [PARAMETERS]
خيارات:
-h
,--help
: عرض رسالة المساعدة والخروج.-V
,--version
: عرض معلومات الإصدار والخروج.
الأوامر:
get_credential_ids
: إخراج قائمة معرفات اعتماد eSigner المرتبطة بمستخدم معين.credential_info
: مفتاح الإخراج ومعلومات الشهادة المتعلقة بمعرف بيانات الاعتماد.sign
: التوقيع وكائن رمز الطابع الزمني.batch_sign
: قم بالتوقيع والطابع الزمني على كائنات رمز متعددة باستخدام OTP واحد.hash
: احسب التجزئة مسبقًا للاستخدام لاحقًا معbatch_hash_sign
أمر.batch_sign_hash
: علامة التجزئة المحسوبة مسبقًا باستخدامhash
أمر.
المعلمات:
-access_token=<TOKEN>
: أوث وصول الرمز.-credential_id=<CREDENTIAL_ID>
: معرف الاعتماد لتوقيع الشهادة.-input_dir_path=<PATH>
: دليل الإدخال لكائنات التعليمات البرمجية المراد توقيعها ، أو تم حسابها ، أو اختيار الملفات غير الموقعة والتجزئة المقابلة للتوقيع.-input_file_path=<PATH>
: مسار كائن التعليمات البرمجية المراد توقيعه.-otp=<OTP>
: قيمة OAuth OTP من تطبيق المصادقة.-output_dir_path=<PATH>
: الدليل حيث سيتم كتابة كائن (كائنات) التعليمات البرمجية الموقعة.-password=<PASSWORD>
: كلمة مرور حساب SSL.com.-program_name=<PROGRAM_NAME>
: اسم البرنامج (لمثبتات MSI فقط).-totp_secret=<TOTP_SECRET>
: أوث سر TOTP-username=<USERNAME>
: اسم مستخدم حساب SSL.com-override="true"
: يقوم بالكتابة فوق الملف الموقع
-password="P!@^^ssword12"
).أوامر CodeSignTool
get_credential_ids
قم بإخراج قائمة معرفات اعتماد eSigner المرتبطة بمستخدم معين. المعلمات -username
و -password
مطلوبة.
الاستخدام: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>
على سبيل المثال:
CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41" Credential ID(s): - fe537ace-e132-52a9-c2e7-egcd2ac3f1e6
الدخول CodeSignTool get_credential_ids
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.
بيانات الاعتماد
مفتاح الإخراج ومعلومات الشهادة المتعلقة بمعرف بيانات الاعتماد. المعلمات -credential_id
, -username
و -password
مطلوبة.
الاستخدام: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>
على سبيل المثال:
CodeSignTool credential_info -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" معلومات موضوع شهادة EVCS: - الاسم المميز للموضوع: OID.1.3.6.1.4.1.311.60.2.1.3 .1.3.6.1.4.1.311.60.2.1.2 = US، OID.2.5.4.15 = Nevada، OID.20081614243 = مؤسسة خاصة، CN = SSL Corp، SERIALNUMBER = NV26، O = SSL Corp، L = Houston، ST = Texas، C = US - انتهاء صلاحية الشهادة: الاثنين 21 فبراير 21:37:2024 EST 3 - المُصدر DN: CN = SSL.com توقيع رمز EV متوسط CA RSA RXNUMX، O = SSL Corp، L = Houston، ST = Texas ، C = الولايات المتحدة
الدخول CodeSignTool credential_info
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.
scan_code
تفعيل فحص البرامج الضارة قبل التوقيع. يؤدي هذا إلى فحص ملفك بحثًا عن أي برامج ضارة محتملة لتجنب اختراق التعليمات البرمجية ويمنع توقيع الكود إذا تم الكشف عن برامج ضارة.
الاستخدام: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>
للحصول على معلومات أكثر تفصيلاً حول المزايا الأمنية لخدمة فحص البرامج الضارة الخاصة بـ SSL.com، يمكنك زيارة موقعنا صفحة مخصصة.
إشارة
كائن رمز التوقيع والطابع الزمني. المعلمات -username
, -password
و -input_file_path
مطلوبة. -credential_id
مطلوب فقط للمستخدمين الذين لديهم أكثر من شهادة توقيع رمز eSigner. -output_dir_path
, -program_name
و -totp_secret
اختيارية.
الاستخدام: CodeSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]
معلمات اختيارية:
- If
-credential_id
تم حذفه ولدى المستخدم شهادة توقيع رمز eSigner واحدة فقط ، وسيعمل CodeSignTool افتراضيًا على ذلك. إذا كان لدى المستخدم أكثر من شهادة توقيع رمز ، فإن هذه المعلمة إلزامية. - If
-output_dir_path
الملف المحدد في-input_file_path
سيتم استبداله بالملف الموقع. سيطالبك CodeSignTool المستخدم قبل الكتابة فوق الملف. - If
-program_name
عند التوقيع على مثبّت MSI ، سيتم عرض القيمة في مربع حوار التأكيد كاسم البرنامج. - If
-totp_secret
موجود ، سيقوم CodeSignTool بحساب OTP على أساس الوقت للتوقيع ، مما يسمح بالاستخدام الآلي للأداة. إذا لم تكن هذه المعلمة موجودة ، فسيُطلب من المستخدم إدخال كلمة المرور لمرة واحدة يدويًا.
أمثلة:
الإدخال اليدوي لمرة واحدة:
علامة CodeSignTool -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" -output_dir_path = توقيع -input_file_path = test.exe أدخل إلى OTP : 884646 تم توقيع الرمز بنجاح: C: \ Users \ John Doe \ Desktop \ CodeSignTool-v1.0-windows \ موقّع \ test.exe
إنشاء OTP الآلي:
CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8= -output_dir_path=signed -input_file_path=test.exe Code signed successfully: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe
الدخول CodeSignTool sign
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.
Error: invalid otp
عند محاولة التوقيع على ملف ، قد يكون السبب في ذلك هو واحد أو أكثر من هذه المشكلات:
- لا يتطابق رمز الاستجابة السريعة الذي مسحته ضوئيًا في تطبيق المصادقة مع اسم المستخدم و / أو كلمة المرور و / أو معرّف الاعتماد من الأمر الخاص بك. يمكن أن يحدث هذا إذا:
- لديك حسابات متعددة تم تكوينها لـ 2FA على جهازك واخترت الحساب الخاطئ.
- أنت تحاول استخدام بيانات اعتماد تسجيل الدخول الخاصة بك لـ شهادة مشتركة، ولكن تم مسح رمز QR ضوئيًا شاركه أحد أعضاء الفريق من حسابه.
- انتهت صلاحية كلمة المرور لمرة واحدة التي أدخلتها بالفعل.
- يتضمن الأمر الخاص بك سر TOTP غير صالح.
دفعة_توقيع
قم بالتوقيع والطابع الزمني لما يصل إلى 100 ملف كود باستخدام OTP واحد. المعلمات -username
, -password
و -input_dir_path
مطلوبة. -credential_id
مطلوب فقط للمستخدمين الذين لديهم أكثر من شهادة توقيع رمز eSigner. -output_dir_path
, -program_name
و -totp_secret
اختيارية.
الاستخدام: CodeSignTool [-hV] batch_sign [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]
إذا أراد المستخدم إجراء تسجيل مجمع مع التحقق من البرامج الضارة، فيجب أولاً فحص كل كائن تعليمات برمجية في الدفعة باستخدام ملف scan_code
الأمر ثم بعد ذلك، batch_sign
يمكن تشغيل الأمر.
معلمات اختيارية:
- If
-credential_id
تم حذفه ولدى المستخدم شهادة توقيع رمز eSigner واحدة فقط ، وسيعمل CodeSignTool افتراضيًا على ذلك. إذا كان لدى المستخدم أكثر من شهادة توقيع رمز ، فإن هذه المعلمة إلزامية. - If
-output_dir_path
الملفات المحددة في-input_dir_path
ستتم الكتابة فوق الملفات الموقعة. سيطالبك CodeSignTool المستخدم قبل الكتابة فوق الملف. - If
-program_name
عند التوقيع على مثبّت MSI ، سيتم عرض القيمة في مربع حوار التأكيد كاسم البرنامج. - If
-totp_secret
موجود ، سيقوم CodeSignTool بحساب OTP على أساس الوقت للتوقيع ، مما يسمح بالاستخدام الآلي للأداة. إذا لم تكن هذه المعلمة موجودة ، فسيُطلب من المستخدم إدخال كلمة المرور لمرة واحدة يدويًا.
على سبيل المثال:
CodeSignTool batch_sign -username=john.doe@example.com -password = "P0z9 @ lxo41" -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path = المدخلات -output_dir_path = أدخل الإخراج إلى OTP تم تنفيذ أمر تسجيل دفعة بنجاح. دليل الإخراج للملفات الموقعة: الإخراج
الدخول CodeSignTool batch_sign
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.
مزيج
قم بحساب التجزئة مسبقًا لاستخدامها لاحقًا مع batch_hash_sign
أمر. معامل -input_dir_path
هو مطلوب. -program_name
هو اختياري
الاستخدام: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]
معلمات اختيارية:
- If
-program_name
عند التوقيع على مثبّت MSI ، سيتم عرض القيمة في مربع حوار التأكيد كاسم البرنامج.
على سبيل المثال:
تجزئة CodeSignTool -input_dir_path = تم تنفيذ أمر تجزئة الإدخال بنجاح. تم إنشاء ملفات التجزئة في: input
الدخول CodeSignTool hash
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.
Batch_sign_hash
علامة التجزئة المحسوبة مسبقًا بـ hash
أمر. المعلمات -access_token
, input_dir_path
, -otp
و output_dir_path
مطلوبة. -credential_id
مطلوب فقط للمستخدمين الذين لديهم أكثر من شهادة توقيع رمز eSigner.
الاستخدام: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>
معلمات اختيارية:
- If
-credential_id
تم حذفه ولدى المستخدم شهادة توقيع رمز eSigner واحدة فقط ، وسيعمل CodeSignTool افتراضيًا على ذلك. إذا كان لدى المستخدم أكثر من شهادة توقيع رمز ، فإن هذه المعلمة إلزامية.
على سبيل المثال:
CodeSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU 0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9 hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82 4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9 qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9 -c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392 Batch sign hash command executed successfully. Output directory for signed files: output
الدخول CodeSignTool batch_sign_hash
بدون المعلمات المطلوبة سيعرض معلومات الاستخدام للأمر.