web-dev-qa-db-ja.com

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

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

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

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

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

98
Wim ten Brink

CAcert を試すことができます。これにより、他のCAcertユーザーによって認証されます。 CAcertにはレピュテーションベースのシステムがあるため、頻繁に認証されると、証明書は有効とみなされます。

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

7
Mnementh

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

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

オープンソースコード署名証明書へのリンクは here です

[*] 2016年から、オープンソースコード署名証明書は無料で利用できなくなりました。現在は有料サービスのみです。

36
Stefan

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


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

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

  2. 証明書は Activate Certificates の下に表示されます。 Activateをクリックします。

  3. アクティベーションウィザードを実行します。 Organizationには、Open Source Developerと入力します。 Organizational Unitには、Software Publishingと入力します。

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

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

* Certumからの確認メールでは、証明を[email protected]、Certumは返信アドレスに送信された証拠も受け入れます[email protected]。暗号化されたメールを送信できます。

28
Edward Brey

2016更新:StartComはWoSignに買収されました 疑わしい状況下 。 StartCom/WoSignは信用しません。 StartCom was2015年前半まで

StartCom (StartSSL)からコード署名証明書を取得しました。私は彼らのサービスにとても満足しています。彼らの顧客サービスは非常に速く、価格は非常にリーズナブルです。

コード署名証明書の取得

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

検証後、新しい秘密鍵と証明書署名要求(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)に尋ねたとき、彼は答えました。

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

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

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

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

証明書の実用化

StartComでは、検証の費用のみを支払います。 ID検証は350日間有効です。この期間中、無料でコード署名証明書を要求できます。有効なコード署名証明書は1つしか持てず、任意のコード(MSI、DLL、XPIなど)に署名するために使用できますが、ドライバーコードには署名できません(これにはEVが必要です)。

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

有効期限

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

OCSP

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

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

23
Rob W

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

8
Joe Kuemerle

StartSSL 製品をご覧ください。

8
Frozenskys

コード署名証明書を購入する必要があります。最も安いものはコモドからです。あなたが計画しているように、ソースコードとバイナリを公開し、バイナリに署名しました。 写真およびその他のファイルの日時バッチチェンジャーを参照してください。

1