Свідоцтво про підписання коду для проектів з відкритим кодом?


117

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

Я міг би створити самопідписаний сертифікат, але мені не дуже подобається такий варіант. Або я міг заплатити Verisign кілька золотих штук, щоб отримати сертифікати, які діяли б лише кілька років. Мені такий варіант також не подобається, оскільки моя скарбниця для мене цінна.

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

(Проект створений в C # за допомогою Visual Studio 2008. Додатково додатковий проект в ASP.NET, який хоче SSL.)


Це питання на тему. Він описує проблему (бажання опублікувати) та те, що було зроблено (побудований додаток, але не підписано його). Він не запитує рекомендацій, лише імена одного або декількох безкоштовних або дешевих постачальників. Він вимагає відповідей, які "знаходять" ресурс поза сайтом, але не таким чином, що, ймовірно, приверне впевнені відповіді чи спам, оскільки варіантів мало.
Едвард Брей

5
Я хочу зазначити, що це питання я задавав майже 8 років. Сьогодні є вже кілька варіантів, але надійність стає проблемою. Також є безліч безкоштовних варіантів для SSL та веб-розробки, але сертифікати для підписання коду все ще обмежені ...
Wim ten Brink

1
На жаль, LetsEncrypt не підтримуватиме сертифікати для підписання коду . Середина 2018, самий дешевий я можу знайти Comdo в codesigncert за $ 59 за Anum. Було б набагато простіше, якби уряди видали всім громадянам / суб'єктам сертифікат з підписом коду як національний посвідчення ... але тоді я змушений буде довіряти своєму уряду
Earcam

Відповіді:


9

Ви можете спробувати CAcert . Завдяки цьому ви отримуєте сертифікацію інших користувачів CAcert. CAcert має репутаційну систему, тому, якщо ви сертифіковані досить часто, ваш сертифікат вважається дійсним.

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


48
Недоліком CACert є те, що він не включений за замовчуванням у жодному з основних браузерів ( wiki.cacert.org/InclusionStatus ), тому типовий досвід користувача не кращий, ніж у самопідписаного сертифікату.
Кохсуке Кавагучі,

6
Крім того , якщо ви зацікавлені в підписанні виконуваних файлів Windows, розум CACert не вказано в списку центрів сертифікації (ЦС) , які є членами Програми для Windows кореневих сертифікатів , в той час як Unizeto CERTUM це
user377486

Я спробував CAcert. Ця картинка підсумовує її: imgur.com/a/rNYqBme
selbie

оновлений список CA можна знайти на веб-
Ердоган Куртур

35

Для розробників з відкритим кодом Certum безкоштовно надає сертифікати для підписання коду *

Просто введіть "розробник з відкритим кодом" у поле "компанія", коли ви запитаєте сертифікат. Це воно.

Посилання на сертифікати для підписання відкритого коду є тут

[*] Починаючи з 2016 року, сертифікат відкритого коду з підписом коду більше не доступний безкоштовно. Зараз це лише платний сервіс.


2
Заходили на сайт і бачили лише сертифікати SSL, чи можете ви глибоке посилання на сертифікати коду підпису коду?
Frozenskys

3
Вони, схоже, не пропонують цього більше.
Чад

3
AFAIK вони перестали пропонувати безкоштовні сертифікати для розробників Open Source. Інакше я дуже вдячний за посилання.
reiniero

15
Схоже, сертифікати вже не безкоштовні - посилання на підписання відкритого коду видалено зі сторінки тестових сертифікатів, і тепер існує окрема сторінка продукту en.sklep.unizeto.pl/data-safety/code-signing-certificate/ … . За ціною € 14 вони значно дешевші, ніж інші сертифікати. Процес реєстрації, схоже, такий же, як і коли вони були безкоштовними.
Алекс Уоррен

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 днів cert. Але не можна пройти крок "Активувати", оскільки натискання кнопки "Створити клавіші" нічого не робить, і Далі видає попередження "Створити пару ключів" ....
StevoKeano

Здається, у них залишився метод КСВ. Як вони можуть знати, чи було КСВ створено їх обладнанням чи ні?
ОКТАГРАМ

22

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

У мене є сертифікат підписання коду від StartCom (StartSSL). Я дуже задоволений їх сервісом: Їхнє обслуговування клієнтів дуже швидке, а ціни на них дуже розумні.

Отримання сертифіката кодового підпису

Отримання сертифіката для підписання коду вимагає перевірки ідентичності класу 2 . StartCom проводить вас через увесь процес (з відмінною швидкістю відповідей, як правило, протягом десяти хвилин на моєму досвіді).
Якщо ви хочете отримати детальну інформацію відразу, прочитайте цю публікацію в блозі . Мене підтвердили протягом години (за плату 59,90 $ через Paypal).

Після перевірки створіть новий приватний ключ та запит на підпис сертифіката (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

Сертифікати класу 2 для класу StartCom встановлені OID-довічного підпису. Через цей біт підпис підписаного коду стане недійсним після закінчення терміну дії сертифікату, навіть коли його позначають часом.

Коли я запитав Едді Нігга (COO / CTO of StartCom) про причину цього OID, він відповів:

Ми вимагаємо від нас зберігати КРС до 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: Сертифікати коду тепер не встановлені OID для підпису за весь час. Зараз вони такі ж гарні, як і всі інші підписи коду. Для перевірки організації навіть є підписання коду ядра.
Йозеф каже, що повернеться до Моніки

8

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


1
Я їх успішно використовував у минулому. Tucows також є торговим посередником, і якщо ви робите багаторічну угоду, я думаю, ви зможете отримати їх близько 70 на рік.
EricLaw

KSoftware має чудовий сервіс, в той час як Comodo - це не дуже добре, хлопці в KSoftware швидко відповідають, я не пов'язаний, просто щасливий клієнт.
digitai

1
Нещодавно я придбав сертифікат у KSoftware, але все ще не закінчив процес перевірки, команда з валідації Comodo продовжує просити мене на номер телефону, але «Віч-на-віч» не сказав, що це обов’язково.
Nicke Manarin

1
Я щойно купив сертифікат коду для підписання коду у K Software, оскільки різниця в ціні була істотною: 75 доларів на рік замість 175 доларів на рік. Спробую опублікувати оновлення тут після того, як я пройду перевірку та видачу. Але моя кишка говорить, що, мабуть, варто заплатити додаткові 100 доларів і просто поїхати з Комодо безпосередньо. Я дам вам знати, як це йде ...
Джошуа Пінтер

1
Оновлення: Я намагався перейти через наших юристів, щоб отримати необхідний документ, але вони сказали, що це коштуватиме близько 1500 доларів. Тож ми вирішили просто зареєструватися на D&B.com, щоб отримати номер DUNS і використовувати це як "перевірку", що ми існує. Зараз у нас це є, але це було болі в дупі і пройшло близько місяця, щоб пройти від початку до кінця. Якщо ви поспішаєте, я б подивився на іншого постачальника, як digicert.com. (Це було сказано, я не впевнений, чи є вони якісь інші / кращі.)
Джошуа Пінтер

8

Ви можете подивитися продукт StartSSL .

Примітка. StartSSL зараз закритий і більше не видає сертифікати.


4
Смішно. Google Chrome повідомляє мені, що startssl.com має недійсний сертифікат і попереджає мене про ризики переходу на цей сайт. :-) Я все-таки продовжував. Виглядає нормально.
Вім десять Бринк

1
Якщо ви додасте корінь кореня CA від startll, це піде. Я вважаю, що FireFox 3+ поставляється із вбудованим сертифікатом CA.
Frozenskys

46
Імпортувати Root CA завжди чудово. Свого роду перемагає всю мету їх мати.
Метью Віт

3
StartSSL - це перший (єдиний досі) безкоштовний CA з RootCA в Windows Vista +. Існує оновлення сертифікатів для старих версій Windows, які включають його також afaik. Чому Chrome не має його як RootCA або резервного копіювання до Windows, це лише проблема Chrome.
Роберт Маклін

6
Сертифікати для підписання коду BTW StartSSL бета-версії та потребують перевірки (що зараз не вільно 50 доларів)
Роберт Маклін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.