Вопрос

Я разработал пару расширений для Firefox, и меня раздражает, что так сложно подписать расширение.Когда расширение не подписано, при его установке указывается "Автор не подтвержден", и для меня это просто выглядит неправильно.

У меня есть простой скрипт сборки, который создает мой файл .xpi из исходных текстов, и у меня есть лицензированная копия PKZip (которая, согласно ряду руководств, требуется для создания подписанного файла xpi, который требуется Firefox), но я не нашел способа получить бесплатный / дешевый сертификат, который действительно работает, или набор инструкций, которые делают это.

Поскольку мои расширения бесплатны, я не хочу тратить 400 долларов на коммерческий сертификат, но я не возражаю потратить 50 долларов или около того, чтобы это сделать.У меня есть компьютеры как с Linux, так и с Windows, хотя мой скрипт сборки в настоящее время использует Windows, и это было бы наиболее удобно в использовании.

Как вы решили эту проблему?Что мне нужно сделать, чтобы автоматически и безопасно подписывать мои расширения при их создании?

Редактировать:Я ценю отзывы в Google, но предлагаемые ими шаги недостаточно полны для того, чтобы на самом деле получить работающий сертификат.Чувство, которое я испытываю, напоминает мне эту классику:

alt text

Это было полезно?

Решение

Я использовал сертификат comodo для подписи XPIS.В то время это был самый дешевый вариант.

Я написал несколько постов на эту тему. Форма XPIт и инструкция по подписание использование инструмента командной строки Java.

Мой инструмент XPISigner - разработчик значительно упрощает процесс и может быть интегрирован в системы сборки.

Я удалил этот инструмент, так как он больше не работает с FF4 или выше.Источник доступен на http://code.google.com/p/xpisigner/ если кому-то захочется починить.

Другие советы

Избегайте сертификатов GoDaddy codesigning, поскольку необходимого промежуточного сертификата CA нет в Firefox по умолчанию.C= США, ST= Аризона, L= Скоттсдейл,O=GoDaddy.com \,Inc., OU=http://certificates.godaddy.com/repository ,CN=Перейти Защищенный центр сертификации Daddy,СЕРИЙНЫЙ НОМЕР=07969287'

Если вы войдете в систему с его помощью, ваши пользователи получат ошибки при подписании.

например ,

SIgning could not be verified. -260

То, что я нашел с помощью Google, было следующим: http://www.mercille.org/snippets/xpiSigning.php какие государства:

Если вам не нужен коммерческий сертификат или вы не можете его себе позволить, Констатация могу предоставить вам бесплатный сертификат, но превращение его в сертификат подписи кода требует некоторой дополнительной работы, о которой я подробно рассказал еще одна страница.

Я не могу сказать, что я это пробовал.И дальше http://developer.mozilla.org/en/Signing_a_XPI в нем говорится:

Самый дешевый универсально поддерживаемый (Mozilla, Java, Microsoft) сертификат кажется, предлагает Comodo Instant-SSL .Вы можете получить бесплатный сертификат для разработчиков с открытым исходным кодом от Unizeto Certum, но их корневой сертификат присутствует только в Mozilla Firefox и Opera (не Java или Microsoft).

Да, подписание XPI, к сожалению, довольно нетривиально.Я бы посоветовал поискать / опубликовать в группах новостей mozilla (dev-extensions, владельцы проекта @ mozdev, irc.mozilla.org), а также попытаться связаться с людьми, которые запустили это в работу.

Tucows продает сертификаты подписи кода Comodo за 75 долларов в год, насколько я могу судить, это настолько дешево, насколько это возможно (https://author.tucows.com/, раздел "Сертификаты подписи кода").Это все еще слишком много денег, чтобы я мог их потратить, поэтому я не стал пробовать, как это работает.Не то чтобы я мог попробовать, но из того, что я могу сказать, вам нужно быть зарегистрированной организацией, чтобы купить сертификат Comodo.

Что касается подтверждения, то получить сертификат достаточно просто (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