Как вы подписываете свои расширения Firefox? - PullRequest
16 голосов
/ 25 сентября 2008

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

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

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

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

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

alt text

Ответы [ 6 ]

4 голосов
/ 01 января 2009

Избегайте сертификатов подписи кода GoDaddy, так как необходимый промежуточный сертификат CA отсутствует в Firefox по умолчанию. C = США, ST = Аризона, L = Скоттсдейл, O = GoDaddy.com \, Inc., OU = http://certificates.godaddy.com/repository,CN=Go Сертификационный центр Daddy Secure, SERIALNUMBER = 07969287 '

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

например.

SIgning could not be verified. -260
3 голосов
/ 10 декабря 2008

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

Я написал несколько постов в формате XPI t и инструкции по подписанию с использованием инструмента командной строки java.

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

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

3 голосов
/ 25 сентября 2008

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

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

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

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

1 голос
/ 30 декабря 2014

Если у вас есть проект с открытым исходным кодом, вы можете получить бесплатный сертификат подписи кода от 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, и вы должны увидеть имя автора там, где раньше было (Автор не подтвержден) рядом с именем расширения.
1 голос
/ 17 декабря 2008

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

Что касается Ascertia, то получить сертификат достаточно просто (http://www.ascertia.com/onlineCA/Issuer/CerIssue.aspx)), но такой сертификат так же бесполезен, как и самопроверкаемый сертификат, потому что вам потребуется импортировать его корневой сертификат, прежде чем увидеть эффект.

1 голос
/ 29 сентября 2008

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

...