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

119

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

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

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

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

Вим тен Бринк
источник
Это вопрос по теме. В нем описывается проблема (желание опубликовать) и что было сделано (приложение создано, но не подписано). Он не требует рекомендаций, только имена одного или нескольких бесплатных или недорогих поставщиков. Он действительно запрашивает ответы, которые «находят» сторонний ресурс, но не таким образом, чтобы привлекать самоуверенные ответы или спам, поскольку вариантов мало.
Эдвард Брей
5
Хочу отметить, что я задавал этот вопрос почти 8 лет назад. Сегодня есть еще несколько вариантов, но надежность становится проблемой. Есть также множество бесплатных вариантов для SSL и веб-разработки, но сертификатов для подписи кода по-прежнему мало ...
Вим тен Бринк,
1
Увы, LetsEncrypt не будет поддерживать сертификаты подписи кода . Середина 2018, самый дешевый я могу найти Comdo в codesigncert за $ 59 за Anum. Было бы намного проще, если бы правительства выдавали всем гражданам / подданным сертификаты для подписи кода в качестве национального удостоверения личности ... но тогда я был бы вынужден доверять своему правительству
камера

Ответы:

9

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

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

Mnementh
источник
48
Обратной стороной CACert является то, что он не включен по умолчанию ни в один из основных браузеров ( wiki.cacert.org/InclusionStatus ), поэтому типичный пользовательский интерфейс не лучше, чем у самозаверяющего сертификата.
Kohsuke Kawaguchi
6
Кроме того , если вы заинтересованы в подписании исполняемых файлов Windows, ум CACert не указан в списке центров сертификации (ЦС) , которые являются членами Программы для Windows корневых сертификатов , в то время как Unizeto CERTUM это
user377486
Я попробовал CAcert. Эта картинка резюмирует это: imgur.com/a/rNYqBme
selbie
обновленный список ЦС можно найти по адресу ccadb-public.secure.force.com/microsoft/…
Эрдоган Куртур,
35

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

Просто введите «разработчик с открытым исходным кодом» в поле «Компания» при запросе сертификата. Вот и все.

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

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

Стефан
источник
2
Вы были на сайте и видите только сертификаты SSL. Можете ли вы сделать ссылку на сертификаты подписи кода?
Frozenskys
3
Кажется, они больше этого не предлагают.
Чад
3
AFAIK они перестали предлагать бесплатные сертификаты разработчиков с открытым исходным кодом. В противном случае я был бы очень признателен за ссылку.
reiniero 05
15
Похоже, сертификаты больше не являются бесплатными - ссылка на подпись с открытым исходным кодом была удалена со страницы тестовых сертификатов, и теперь есть отдельная страница продукта en.sklep.unizeto.pl/data-safety/code-signing-certificates/ … . Однако по цене 14 евро они намного дешевле, чем другие сертификаты. Процесс регистрации, похоже, такой же, как и когда они были бесплатными.
Alex Warren
2
@quasoft это SSL-сертификаты.
Натан Осман,
27

Обновление: больше не бесплатно, теперь 105,78 евро (по состоянию на 19 февраля 2017 г.). Стоимость будет меньше, если у вас уже есть их криптовалютное оборудование. FWIW, следуйте предыдущим инструкциям.


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

  1. Перейдите к идентификатору теста и сертификатам подписи кода OpenSource и отправьте форму.

  2. Сертификат появится в разделе « Активировать сертификаты» . Щелкните Активировать .

  3. Пройдите мастер активации. В поле «Организация» введите « Разработчик с открытым исходным кодом» . В поле «Организационная единица» введите « Публикация программного обеспечения» .

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

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

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

Эдвард Брей
источник
Сработало нормально, спасибо большое! Вы знаете, обновляют ли они сертификат бесплатно по истечении 1 года? Или это всего лишь пробный период и потом он станет платным сертификатом?
Аль-Хорезми
1
Примерно через 10 месяцев вы получите письмо с напоминанием об истечении срока действия вашего сертификата. В этом письме упоминается, что вы можете продлить подписку, но это не сработало (у меня 4 месяца назад). Я запросил новый сертификат так же, как и годом ранее, и получил его. Вкратце: вы просто запрашиваете новый сертификат каждый год.
Martijn Stolk
В раскрывающемся списке стран больше нет списка США? Получил сертификат еще в 2013 году, так что раньше он работал у меня.
Warty
Пробовал это. Теперь 90-дневный сертификат. Но не могу пройти шаг «Активировать», так как нажатие на кнопку «Сгенерировать ключи» ничего не делает, а «Далее» выдает предупреждение «Сгенерировать пару ключей» ....
StevoKeano
Кажется, у них остался метод КСО. Как они могут узнать, было ли CSR создано их оборудованием или нет?
OCTAGRAM
22

Обновление 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

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

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

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

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

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

Таким образом, временные метки доступны только после расширенной проверки (EV), которая доступна только для законно учрежденных организаций и стоит 199,90 $. Таким образом, отдельные разработчики не могут использовать временные метки с сертификатом подписи кода от StartCom .

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

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

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

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

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

истечение

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

OCSP

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

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

Роб В
источник
1
Спасибо за информацию о пожизненной подписи и «только один активный сертификат подписи кода». Определенно стоит знать. Однажды я планировал это сделать и думаю, что все еще хочу это сделать. Уже используются бесплатные сертификаты SSL.
ygoe
2
Обновление на StartCom: сертификаты кода теперь не имеют установленного идентификатора пожизненной подписи. Теперь они так же хороши, как и любой другой сертификат подписи кода. Для проверки организации есть даже подпись кода ядра.
Йозеф говорит: "Восстановите Монику"
8

Вы также можете проверить KSoftware . Они перепродают сертификаты подписи кода Comodo за 99 долларов США в год.

Джо Кюмерл
источник
1
Я успешно использовал их в прошлом. Tucows также является торговым посредником, и если вы заключите многолетнюю сделку, я думаю, вы сможете получить их примерно на 70 в год.
EricLaw
У KSoftware отличный сервис, в то время как Comodo не очень хорош, ребята из KSoftware быстро отвечают, я не родственник, просто довольный клиент.
digitai
1
Я недавно купил сертификат в KSoftware, но я все еще не завершил процесс проверки, команда проверки Comodo продолжает спрашивать у меня номер телефона, но личная встреча не сказала, что это обязательно.
Ник
1
Я только что купил сертификат подписи кода у K Software, потому что разница в цене была существенной: 75 долларов в год вместо 175 долларов в год. Я постараюсь опубликовать здесь обновление после того, как пройду проверку и выдачу. Однако моя интуиция подсказывает, что, вероятно, стоит заплатить дополнительные 100 долларов и просто перейти на Comodo напрямую. Я дам вам знать, как это происходит ...
Джошуа Пинтер
1
Обновление: я пытался пройти через наших юристов, чтобы заполнить требуемый документ, но они сказали, что это будет стоить около 1500 долларов. Поэтому мы решили просто зарегистрироваться на D&B.com, чтобы получить номер DUNS и использовать его как «подтверждение» того, что мы существуем. Сейчас он у нас есть, но это была головная боль, и на его завершение от начала до конца ушло около месяца. Если вы торопитесь, я бы посмотрел на другого провайдера, например digicert.com. (При этом, я не уверен, что они другие / лучше.)
Джошуа Пинтер
8

Вы можете взглянуть на продукт StartSSL .

Примечание. StartSSL теперь закрыт и больше не выдает сертификаты.

Frozenskys
источник
4
Веселая. Google Chrome сообщает мне, что startssl.com имеет недействительный сертификат, и предупреждает меня о рисках перехода на этот сайт. :-) Я все же продолжил. Выглядит нормально.
Wim ten Brink,
1
Если вы добавите сертификат корневого ЦС из startll, он исчезнет. Я считаю, что FireFox 3+ поставляется со встроенным сертификатом
CA.
47
Всегда приятно импортировать корневые центры сертификации. Как бы то ни было, уничтожает всю цель их обладания.
Мэтью Уайтс,
3
StartSSL - это первый (пока единственный) свободный центр сертификации с RootCA в Windows Vista +. Существует обновление сертификата для более старых версий Windows, которые также включают его. Почему Chrome не имеет его в качестве RootCA или альтернативы Windows для проверки, это просто проблема Chrome.
Роберт Маклин,
6
BTW Сертификаты подписи кода StartSSL являются бета-версией и требуют проверки (что в настоящее время платно за 50 долларов)
Роберт Маклин,