سؤال

لقد قمت بتطوير بعض الإضافات لمتصفح فايرفوكس، وأنا منزعج من صعوبة توقيع الإضافة.عندما لا يتم توقيع الامتداد، تظهر رسالة "لم يتم التحقق من المؤلف" عند تثبيته، ويبدو هذا خطأ بالنسبة لي.

لدي برنامج نصي بسيط للإنشاء يقوم بإنشاء ملف xpi. من المصادر، ولدي نسخة مرخصة من PKZip (والتي وفقًا لعدد من البرامج التعليمية مطلوبة لإنشاء ملف xpi موقّع يتطلبه Firefox)، لكنني لم أجده طريقة للحصول على شهادة مجانية/رخيصة تعمل بالفعل أو مجموعة من التعليمات التي تؤدي الغرض.

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

كيف قمت بحل هذا؟ما الذي يجب علي فعله لتوقيع ملحقاتي تلقائيًا وبشكل آمن عند إنشائها؟

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

alt text

هل كانت مفيدة؟

المحلول

لقد استخدمت شهادة كومودو للتوقيع على XPIs.وكان الخيار الأرخص في ذلك الوقت.

لقد كتبت بعض المشاركات على صيغة XPIر وكيفية ل التوقيع باستخدام أداة سطر الأوامر جافا.

أداتي XPISigner يبسط العملية إلى حد كبير ويمكن دمجها في أنظمة البناء.

لقد قمت بإزالة الأداة لأنها لم تعد تعمل مع FF4 أو أعلى.المصدر متاح على http://code.google.com/p/xpisigner/ إذا كان أي شخص يشعر وكأنه إصلاح.

نصائح أخرى

تجنب شهادات GoDaddy لتصميم الأكواد لأن شهادة CA المتوسطة الضرورية ليست في Firefox افتراضيًا.C=الولايات المتحدة، ST=أريزونا،L=سكوتسديل،O=GoDaddy.com\,Inc.,OU=http://certificates.godaddy.com/repository,CN=Go المرجع الآمن لإصدار الشهادات، الرقم التسلسلي = 07969287'

إذا قمت بالتسجيل باستخدامه، فسيحصل المستخدمون على أخطاء في التوقيع به.

على سبيل المثال

SIgning could not be verified. -260

ما وجدته مع جوجل هو هذا: http://www.mercille.org/snippets/xpiSigning.php التي تنص على:

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

لا أستطيع أن أقول أنني حاولت ذلك.و على http://developer.mozilla.org/en/Signing_a_XPI انها تقول:

يبدو أن أرخص شهادة مدعومة عالميًا (Mozilla ، Java ، Microsoft) هي عرض Comodo Instant-SSL.يمكنك الحصول على شهادة مجانية للمطورين مفتوح المصدر من Certum Unizeto ، ولكن شهادة الجذر الخاصة بهم موجودة فقط في Mozilla Firefox و Opera (وليس Java أو Microsoft).

نعم، توقيع XPI للأسف أمر غير بديهي تمامًا.أنصح بالبحث/النشر في مجموعات أخبار موزيلا (dev-extensions، وأصحاب المشاريع @ mozdev، وirc.mozilla.org) وأيضًا محاولة الاتصال بالأشخاص الذين ساعدوا في تشغيله.

تبيع Tucows شهادات توقيع رمز Comodo مقابل 75 دولارًا سنويًا، وهذا رخيص بقدر ما يمكنني قوله (https://author.tucows.com/, ، قسم "شهادات توقيع الرمز").لا يزال هذا مبلغًا كبيرًا بالنسبة لي لإنفاقه، لذا لم أجرب كيفية عمله.لا أستطيع أن أحاول، مما يمكنني قوله أنك بحاجة إلى أن تكون منظمة مسجلة لشراء شهادة Comodo.

أما بالنسبة لـ Ascertia، فإن الحصول على الشهادة أمر سهل بما فيه الكفاية (http://www.ascertia.com/onlineCA/Issuer/CerIssue.aspx) - ولكن مثل هذه الشهادة لا قيمة لها مثل الشهادة الصادرة ذاتيًا لأنك ستحتاج إلى استيراد شهادة الجذر الخاصة بها قبل رؤية التأثير.

إذا كان لديك مشروع مفتوح المصدر، فيمكنك الحصول على شهادة توقيع رمز مجانية من Unizeto.

يتم وصف خطوات الحصول على الشهادة نفسها بالتفصيل هنا.

بعد حصولك على الشهادة قم بما يلي:

  • احصل على المفتاح الخاص من متصفحك (على سبيل المثال:قم بتنزيله بتنسيق .p12 من سلسلة المفاتيح الخاصة بك - لا تقم بتعيين كلمة مرور) وقم بتحويله إلى تنسيق PEM عبر openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts
  • افتح ملف .pem الذي قمت بتنزيله من Unicert، وأضف مفتاحك الخاص أسفله، وملف Public Key of Certum Level III CA من هنا أسفل المفتاح الخاص، فيبدو كما يلي:

    -----BEGIN CERTIFICATE----- [your certificate from Certum] -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- [the private key you just converted from the .p12 file from your keychain] -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- [the Certum Level III CA public key you just downloaded] -----END CERTIFICATE-----

  • احفظ هذا الملف باسم cert_with_key_and_ca.pem
  • ثَبَّتَ xpisign.py مع pip install https://github.com/nmaier/xpisign.py/zipball/master
  • يجري xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • سحب وإسقاط signed.xpi في Firefox ويجب أن ترى اسم المؤلف حيث كان يوجد من قبل ملف (لم يتم التحقق من المؤلف) الرسالة بجانب اسم الامتداد.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top