Сертификат подписи кода для проектов с открытым исходным кодом?

Я хочу опубликовать один из моих приложений с открытым исходным кодом и хотите подписать файлы, которые я создал с моим собственным сертификатом. (Конечно, любой другой может просто загрузить код и построить его самостоятельно со своим собственным сертификатом.) Я хочу сделать это, чтобы каждый мог проверить, что эта сборка была сделана мной, а не кем-то другим. Я также хочу создать безопасный веб-сайт с действительным сертификатом SSL, чтобы посетители могли создавать свои собственные учетные записи безопасным способом, чтобы они могли внести свой вклад в это проект.

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

Итак, есть ли другие варианты? Например, поставщик, который поддерживает проекты с открытым исходным кодом, предлагая сертификаты по сниженной цене? Это не должно быть бесплатным, просто намного дешевле, чем Компания VeriSign...

(проект создается на C# с помощью Visual Studio 2008. Плюс дополнительный проект в ASP.NET это требует SSL.)

7 ответов


вы можете попробовать CAcert. С этим вы получаете аттестованные другими CAcert-потребителями. CAcert имеет систему, основанную на репутации, поэтому, если вы сертифицированы достаточно часто, Ваш сертификат считается действительным.

возможно, Вам придется добавить CAcert в качестве доверенного органа в целевой системе. Самостоятельная подпись исполняемого файла должна быть достаточным вариантом, но вам нужно будет предоставить открытый сертификат. Использование известного авторитета может помочь проверить файл, но я думаю, что это над убийством в этом случай используйте контрольную сумму или хэш sha2 файла в сочетании с вашим самозаверяющим сертификатом. Вы можете настроить Linux box как CA, однако им нужно будет доверять вашему общедоступному сертификату.


для разработчиков с открытым исходным кодом, Certum предоставляет сертификаты подписи кода бесплатно*

просто введите "разработчик" в поле "компания" при запросить сертификат. Вот и все.

ссылка на сертификаты подписи открытого исходного кода -здесь

[*] начиная с 2016 года сертификат подписи открытого исходного кода больше не доступен бесплатно. Теперь это платная услуга.


обновление: больше не бесплатно, теперь €105.78 (по состоянию на 19 февраля 2017). Стоимость меньше, если у вас уже есть свое крипто-оборудование. FWIW, ниже приведены предыдущие инструкции.


получите бесплатный сертификат подписи кода от Certum/Unizeto для себя как личности, выполните следующие действия. Используйте Internet Explorer или Safari, поскольку они поддерживают механизм обмена ключами.

  1. обзор тест ID и Сертификаты подписи кода OpenSource, и отправить форму.

  2. сертификат появится в разделе Активировать Сертификаты. Нажмите активировать.

  3. пройдите через Мастер активации. Для организация enter Разработчик С Открытым Исходным Кодом. Для Подразделение, enter Публикации Программного Обеспечения.

  4. вы получите электронное письмо просят удостоверение личности. Ответьте ссылкой на проект с открытым исходным кодом и изображением вашего водительского удостоверения (или другого принятого документа). Чтобы защитить вашу конфиденциальность, вы должны зашифровать ответ.* способ шифрования зависит от почтового клиента. Для Outlook убедитесь, что у вас есть сертификат электронной почты (свободно), и включить шифрование.

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

* хотя проверка электронной почты от Certum говорит, чтобы отправить доказательство ccp@certum.pl, Certum также принимает доказательство, отправленное на адрес ответа info@certum.pl, на который вы можете отправить зашифрованное письмо.


обновление 2016: StartCom был приобретен WoSign при сомнительных обстоятельствах. Я бы не доверял StartCom / WoSign. Рассмотрим приведенный ниже текст как историческую заметку о том, насколько хорош StartCom был до начала 2015 года.

У меня есть сертификат для подписи кода StartCom (StartSSL). Я очень доволен их обслуживанием: их обслуживание клиентов очень быстро, и их цены очень разумные.

получение сертификата подписи кода

получение сертификата подписи кода требует Проверка Подлинности Класса 2. StartCom проведет вас через весь процесс (с отличной частотой ответов, как правило, в течение десяти минут в моем опыте).
Если вы хотите получить информацию сразу, прочитайте этот блог. Я был подтвержден в течение часа (за плату 59.90 $, через система PayPal.)

после проверки создайте новый закрытый ключ и запрос подписи сертификата (CSR). Обратите внимание, что все поля, кроме открытого ключа, игнорируются. Вся информация в сертификате выводится из информации, которую вы предоставляете во время проверки идентичности, а не из вашего CSR.

# Create key and CSR (key must be at least 2048 bit, per Policy Statement)
openssl req -nodes -newkey rsa:2048 -keyout codesigning.key -out codesigning.csr
# Add pass phrase to key (optional, but highly recommended)
openssl rsa -in codesigning.key -des3 -out codesigning2.key && \
    mv codesigning2.key codesigning.key

отправьте это через веб-интерфейс, и вы быстро получите новый сертификат, действительный в течение двух лет (I мой в течение часа).

проблема: пожизненное подписание OID

сертификаты класса 2 StartCom имеют набор OID подписи времени жизни. Из-за этого бита подпись подписанного кода станет недействительной после истечения срока действия сертификата, даже если он помечен временем.

когда я спросил Эдди нигга (COO/CTO StartCom) о причине этого OID, он ответил:

это требует от нас, чтобы CRLs работал до 20 спустя годы после истечения срока действия сертификатов. Это то, что мы можем сделать для сертификатов уровня EV (гораздо меньший объем, разные условия оплаты), но увеличили бы цену для класса 2 только для этой выгоды (где подписание кода является только частью опций на этом уровне).

Timestamping, таким образом, доступен только после расширенной проверки (EV), которая является доступно только для легально установленных организаций и расходы 199.90 $. Итак,индивидуальные застройщики нельзя использовать отметку времени с сертификатом подписи кода от StartCom.

долгое время я рассматривал это ограничение как большую проблему. Недавно я передумал: это происходит только раз в два года, пользователи, ориентированные на безопасность, могут быть более склонны получать последнюю версию моего программного обеспечения, а старые версии программного обеспечения все равно будут работать (для тех, кто хочет его использовать; хотя и без проверенной подписи).

Примечание: всегда отметка времени вашего кода, даже если установлен флаг подписи Lifetime! Подписи с временной меткой будут оставаться действительными до даты истечения срока действия сертификата, даже если сертификат был отозван (очевидно, только если подпись была создана до отзыва сертификата).

практическое использование сертификата

в StartCom, вы платите только за проверку. Проверка подлинности действительна в течение 350 дней, и в течение этого периода можно запросить сертификаты подписи кода для бесплатный. У вас может быть только один действительный сертификат подписи кода, и его можно использовать для подписи любого кода (MSI, DLL, XPI, ...), но не код драйвера (для этого нужно зарегиться).

чтобы изменить атрибут сертификата, необходимо отозвать предыдущий сертификат и запросить новый. Отзыв сертификата стоит 29.90 $. Хотя, когда я изменил свою электронную почту через день после получения сертификата подписи кода, они исключительно отозвали мой сертификат без комиссии (я был положительно удивлен)!

действия

когда срок действия вашего сертификата истекает (почти через два года), вы получаете уведомление (за две недели). Если ваша подтвержденная личность по-прежнему действительна (напомним, что проверки истекают через 350 дней; затем вы должны подтвердить свою личность снова за 59.90$), вы можете запросить новый сертификат, не отменяя предыдущий. Не забудьте опубликовать новый выпуск программного обеспечения, подписанный этой новой подписью кода сертификат, потому что в предыдущих выпусках скоро появится "(не проверено) " или что-то подобное.

OCSP

когда я получил сертификат, я подписал дополнение Firefox. Однако он по-прежнему показывал "(автор не проверен)", хотя мой файл XPI был правильно подписан. Оказалось, что Firefox не получил текущий статус сертификата, когда он запросил серверы OCSP StartCom для статуса отзыва моего нового сертификата. возможно актуальная тема форума

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


вы могли бы посмотреть StartSSL продукта.


вы также можете проверить KSoftware. Они перепродают сертификат сертификаты подписи кода для US$99 / year.


вам нужно будет купить сертификат подписи кода. Самые дешевые - от Comodo. Я опубликовал исходный код и двоичные файлы, как вы планируете, и подписал двоичные файлы. См. дата и время пакетный чейнджер для фотографий и других файлов.