オープンソースプロジェクトのコード署名証明書?


117

アプリケーションの1つをオープンソースとして公開し、独自の証明書を使用して作成したバイナリにデジタル署名したい。(もちろん、他の誰もがコードをダウンロードして自分の証明書で自分でビルドすることができます。)私はこれを実行して、このビルドが他の誰かではなく私によって作成されたことを誰もが確認できるようにします。また、訪問者がこのプロジェクトに貢献できるように安全な方法で自分のアカウントを作成できるように、有効なSSL証明書を使用して安全なWebサイトを作成したいと考えています。

自己署名証明書を作成することもできますが、そのオプションはあまり好きではありません。または、Verisignにいくつかの金貨を支払って、数年だけ有効な証明書を取得することもできます。私の財務省は私にとって価値があるので、私はそのオプションも好きではありません。

それで、他のオプションはありますか?たとえば、割引価格で証明書を提供することにより、オープンソースプロジェクトをサポートするプロバイダーはどうでしょうか。無料である必要はありません。Verisignよりもはるかに安価です...

(プロジェクトはVisual Studio 2008を使用してC#で作成されます。さらに、SSLを必要とするASP.NETの追加プロジェクトも含まれます。)


この質問はトピックです。問題(公開したい)と何が行われたか(アプリを作成したが、署名していない)について説明します。推奨事項は求められず、1つ以上の無料または低コストのプロバイダーの名前のみが求められます。オフサイトのリソースを「見つける」ための回答を求めますが、利用可能なオプションがほとんどないため、意見の分かれた回答やスパムを引き寄せそうな方法ではありません。
エドワードブレイ

5
私はこの質問をほぼ8年前に行ったことを指摘したいと思います。今日、すでにいくつかのオプションがありますが、信頼性が問題になっています。SSLとWeb開発には無料のオプションもたくさんありますが、コード署名証明書はまだ不足しています...
Wim ten Brink

1
Alas LetsEncrypt はコード署名証明書をサポートしません。2018年中頃、私が見つけることができる最も安いのは、年額59ドルのComdoのcodesigncertです。政府が国民IDとしてコード署名証明書を使ってすべての市民/ 主体を発行した方がはるかに簡単です...しかし、私は政府を信頼することを余儀なくされます
イヤカム

回答:


9

CAcertを試すことができます。これにより、他のCAcert-usersによって認定されます。CAcertには評判ベースのシステムがあるため、頻繁に認証されると、証明書は有効と見なされます。

ターゲットシステムで信頼できる機関としてCAcertを追加する必要がある場合があります。実行可能ファイルに自己署名することで十分ですが、公開証明書を提供する必要があります。既知の認証局を使用するとファイルの検証に役立ちますが、この場合、自己署名証明書と組み合わせてファイルのチェックサムまたはsha2ハッシュを使用すると、やりすぎです。LinuxボックスをCAとして設定することもできますが、彼らはあなたの公開証明書を信頼する必要があります。


48
CACertの欠点は、主要なブラウザー(wiki.cacert.org/InclusionStatus)のいずれにもデフォルトで含まれていないため、一般的なユーザーエクスペリエンスは自己署名証明書よりも優れていないことです。
河口浩介

6
また、Windows実行可能ファイルの署名に関心がある場合は、CizetがWindowsルート証明書プログラムのメンバーである認証局(CA)のリストに含まれていないことに注意してください。UnizetoCERTUM
user377486

CAcertを試してみました。この写真はそれを要約します:imgur.com/a/rNYqBme
セルビー


35

オープンソース開発者向けに、Certum無料でコード署名証明書提供します*

証明書を要求するときに、「会社」フィールドに「オープンソース開発者」と入力してください。それでおしまい。

オープンソースのコード署名証明書へのリンクはこちら

[*] 2016年以降、オープンソースコード署名証明書は無料でご利用いただけなくなりました。現在は有料サービスです。


2
サイトにアクセスし、SSL証明書のみを表示できます。コード署名証明書にディープリンクできますか?
Frozenskys 2009

3
彼らはもうこれを提供していないようです。
Chad

3
知る限り、彼らは無料のオープンソース開発者証明書の提供をやめました。そうでなければ私は本当にリンクをいただければ幸いです。
reiniero

15
証明書はもはや無料ではないようです-オープンソースコード署名への参照がテスト証明書ページから削除され、別の製品ページen.sklep.unizeto.pl/data-safety/code-signing-certificates/ができました。 ...。14ユーロで他の証明書よりもはるかに安いです。サインアップのプロセスは、彼らが無料だったときと同じようです。
Alex Warren

2
@quasoftそれらはSSL証明書です。
Nathan Osman

27

更新:無料ではなくなり、現在は105.78ユーロ(2017年2月19日現在)。すでに暗号化ハードウェアを所有している場合、コストは低くなります。FWIW、以下は前の指示です。


Certum / Unizetoから個人として無料のコード署名証明書を取得するには、次の手順に従います。鍵交換メカニズムをサポートしているため、Internet ExplorerまたはSafariを使用してください。

  1. 参照をテストIDとオープンソースのコード署名証明書、およびフォームを送信します。

  2. 証明書が[証明書のアクティブ化]に表示されます。[ アクティブ化]をクリックします。

  3. アクティベーションウィザードを実行します。[ 組織]Open Source Developerと入力します。以下のために組織単位、入力したソフトウェア発行を

  4. 身元の証明を求めるメールが届きます。オープンソースプロジェクトへのリンクと運転免許証の画像(または他の承認されたドキュメント)を返信します。プライバシーを保護するには、返信を暗号化する必要があります。*暗号化の方法はメールクライアントによって異なります。Outlookの場合は、メール証明書(無料で入手可能)があることを確認し、暗号化オンにします

  5. 1日ほどで、証明書を収集するためのリンクが記載されたメールが届きます。プロセスの開始に使用したのと同じコンピューターとブラウザーからリンクを開く必要があります。

* Certumからの確認メールには証明をに送信するようccp@certum.plに記載さinfo@certum.plれていますが、Certumは返信アドレスに送信された証明も受け入れ、そこに暗号化されたメールを送信できます。


うまくいきました、ありがとうございました!1年後に無料で証明書を更新するかどうか知っていますか?または、これは試用期間だけであり、それが有料証明書になりますか?
Al-Khwarizmi、2014

1
約10か月後に、証明書の有効期限が近づいていることを通知するメールが届きます。そのメールで、あなたは更新できると述べていますが、それはうまくいきませんでした(私にとっては4か月前)。一年前と同じように新しい証明書を要求して受け取りました。つまり、毎年新しい証明書を要求するだけです。
Martijn Stolk 2015年

国のドロップダウンに米国が表示されなくなったようですが?2013年に証明書を取得したので、以前は機能していました。
Warty、2015

これを試しました。現在、90日間の認定証です。「生成キー」ボタンをクリックすると、何もしないし、次の警告....「鍵ペアの生成」スローとしてではなく、「アクティブ」のステップを乗り越えることができない
StevoKeano

CSR手法は残っているようです。CSRがハードウェアによって生成されたかどうかをどのようにして知ることができますか?
OCTAGRAM 2017年

22

2016年の更新:StartComは、疑わしい状況下で WoSignによって買収されました。StartCom / WoSignは信用できません。StartCom 2015年の初めまでにどれほど優れていたかについての歴史的なメモとして、以下のテキストを検討してください。

StartCom(StartSSL)からコード署名証明書を持っています。私は彼らのサービスに非常に満足しています:彼らのカスタマーサービスは非常に速く、彼らの価格は非常にリーズナブルです。

コード署名証明書を取得する

コード署名証明書を取得するには、クラス2のID検証が必要です。StartComはプロセス全体をガイドします(優れた応答率、通常、私の経験では10分以内)。
詳細をすぐに確認したい場合は、このブログ投稿をお読みください。私は1時間以内に検証されました(Paypal経由で59.90ドルの料金)。

検証後、新しい秘密鍵と証明書署名要求(CSR)を生成します。公開鍵以外のすべてのフィールドは無視されることに注意してください。証明書のすべての情報は、CSRからではなく、ID検証中に入力した情報から推測されます

# 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

これをWebインターフェースから送信すると、2年間有効な新しい証明書をすぐに取得できます(1時間以内に取得しました)。

問題:生涯署名OID

StartComのクラス2証明書には、Lifetime Signing OIDが設定されています。このビットのため、タイムスタンプが付けられていても、証明書の有効期限が切れると、署名されたコードの署名は無効になります。

私がこのOIDの理由についてEddy Nigg(StartComのCOO / CTO)に尋ねたところ、彼は答えました:

証明書の有効期限が切れてから最大20年間、CRLを動作させる必要があります。これは、EVレベルの証明書(ボリュームがはるかに少なく、さまざまな支払い条件)に対して実行できるものですが、この利点のためにクラス2の価格を引き上げます(コード署名はこのレベルのオプションの一部にすぎません)。

したがって、タイムスタンプは、拡張検証(EV)の後でのみ使用できます。これは、合法的に確立された組織でのみ使用でき、費用は199.90ドルです。したがって、個々の開発者はStartComからのコード署名証明書でタイムスタンプを使用できません

長い間、私はこの制限を大きな問題だと考えていました。最近、気が変わりました。これは2年に1回だけ発生します。セキュリティ志向のユーザーは私のソフトウェアの最新バージョンを入手する傾向があり、古いバージョンのソフトウェアは引き続き機能します(使用したい人にとっては;ただし、検証済みの署名はありません)。

注:ライフタイム署名フラグが設定されている場合でも、常にコードにタイムスタンプを付けてください!タイムスタンプの付いた署名は、証明書が失効していても(証明書が失効する前に署名が作成された場合のみ)、証明書の有効期限まで有効です。

証明書の活用

StartComでは、検証に対してのみ支払います。本人確認は350日間有効で、この期間中は無料でコード署名証明書をリクエストできます。有効なコード署名証明書は1つだけ持つことができ、任意のコード(MSI、DLL、XPIなど)に署名できますが、ドライバーコードには署名できません(これにはEVが必要です)。

証明書の属性を変更するには、以前の証明書を取り消して、新しい証明書を要求する必要があります。証明書の失効には29.90ドルかかります。コード署名証明書を取得してから1日後にメールを変更したところ、例外なく無料で証明書が取り消されました(正に驚きました)。

有効期限

証明書の有効期限が近づくと(ほぼ2年後)、通知が届きます(2週間前)。確認済みのIDがまだ有効な場合(検証は350日後に期限切れになるため、59.90 $でIDを再度確認する必要があります)、以前の証明書を取り消さずに新しい証明書をリクエストできます。この新しいコード署名証明書で署名されたソフトウェアの新しいリリースを公開することを忘れないでください。以前のリリースではまもなく「(検証されていません)」または類似のものが表示されます。

OCSP

証明書を受け取ったら、Firefoxアドオンに署名しました。ただし、XPIファイルが正しく署名されていても、「(作成者は確認されていません)」と表示されます。FirefoxがStartComのOCSPサーバーに私の新しい証明書の失効ステータスを問い合わせたときに、現在の証明書ステータスを取得していないことがわかりました。おそらく関連するフォーラムトピック

約半日後、私の証明書はOCSPサーバーに知られ、私の名前は期待通りに表示されました。教訓:新しい証明書を取得したら、約1日待ってから、新しい署名でソフトウェアを公開してください。


1
ライフタイム署名と「1つだけのアクティブなコード署名証明書」についての洞察をありがとうございます。間違いなく知る価値があります。いつかやってみるつもりだったので、やりたいと思っています。すでに無料のSSL証明書を使用しています。
ygoe 2014年

2
StartComの更新:コード証明書にLifetime Signing OIDが設定されなくなりました。現在、他のすべてのコード署名証明書と同じくらい優れています。組織の検証には、カーネルコード署名も含まれています。
ジョセフはモニカ

8

KSoftwareもチェックアウトできます。Comodoのコード署名証明書を年間99ドルで再販します。


1
私は過去にそれらをうまく使いました。Tucowsは再販業者でもあり、複数年契約を結んでいる場合、年間70年間は入手できると思います。
EricLaw 2009

KSoftwareは素晴らしいサービスを提供していますが、Comodoは良くありませんが、KSoftwareのスタッフはすぐに回答します。私は関係ありません。ただの幸せな顧客です。
ディジタイ2017年

1
最近、KSoftwareで証明書を購入しましたが、まだ検証プロセスを完了していません。Comodoの検証チームが電話番号を尋ね続けますが、Face-to-Faceはそれが義務であるとは言いませんでした。
Nicke Manarin 2017

1
価格の差が大きいため、K Softwareからコード署名証明書を購入しました。年間175ドルではなく年間75ドルです。検証と発行を終えた後、ここで更新を投稿してみます。しかし、私の直感は、追加の100ドルを払って、直接Comodoに行くのはおそらく価値があると言っています。それがどうなるかをお知らせします...
ジョシュアピンター

1
更新:必要な文書を完成させるために弁護士を調べてみましたが、そうするには約1,500ドルかかると彼らは言っています。そこで、D&B.comに登録してDUNS番号を取得し、それを存在の「確認」として使用することを選択しました。私たちは今それを持っていますが、それはお尻の痛みであり、最初から最後まで完了するのに約1か月かかりました。お急ぎの場合は、digicert.comなどの別のプロバイダーを検討します。(とはいえ、それらが異なる/より良いかどうかはわかりません。)
Joshua Pinter

8

StartSSL製品を見ることができます。

注StartSSLは現在閉鎖されており、証明書を発行していません。


4
おかしい。Google Chromeは、startssl.comに無効な証明書があることを報告し、このサイトに進むリスクについて警告します。:-)しかし、私は続行しました。大丈夫に見えます。
Wim ten Brink

1
startsllからルートCA証明書を追加すると、これはなくなります。私はに建てられ、このCA証明書でFirefox 3+船と信じています。
Frozenskys

46
ルートCAをインポートすることは、常に素晴らしい気持ちです。ちょっとしたことは、それらを持つことの目的全体を打ち負かします。
マシューホワイト

3
StartSSLは、Windows Vista以降でRootCAを備えた最初の(まだまだ)無料のCAです。古いバージョンのWindows用の証明書の更新があり、これが含まれています。ChromeがRootCAとして持っていないか、Windowsにフォールバックして確認するのは、Chromeの問題にすぎません。
ロバート・マクリーン

6
BTW StartSSLのコード署名証明書はベータ版であり、検証が必要です(現在は無料ではありませんが50ドルです)
Robert MacLean

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.