オープンソースのための無料コード署名:SignPathに申請しました 🔏
Windowsでうちのゲームをインストールした人は、こんな場面を知っているかもしれません。「WindowsによってPCが保護されました」。SmartScreenが「不明な発行元」だと警告してきて、まず「詳細情報 → 実行」をクリックしないといけません。これはウイルスではなく、インストーラーにまだ署名がないだけです。高い証明書を買わずに、この警告をなくしたいのです。
コード署名証明書の問題。Windowsの発行元証明書(OVまたはEV)は毎年お金がかかり、会社としての確認やハードウェアトークンが必要なことも多いです。商用スタジオにとっては、たくさんある費用のひとつ。でもオープンソースの家族プロジェクトにとっては大きなハードルで、しかもどこか筋違いでもあります。私たちはすでに透明で、ソースコードはすべて公開しているのですから。
解決策:SignPath Foundation。SignPathはオープンソースのプロジェクトにコード署名を無料で提供しています。私たちが申請したのがまさにそれです。まだ何も承認されていません。審査の最中です。でも準備がとても勉強になったので、共有します。自分のOSSプロジェクトに署名したい人は、私たちがやったことを参考にしてください。
1. 前提条件。公開リポジトリ、認められたOSIライセンス(私たちはAGPL-3.0)、活発に開発が続いていることがはっきりわかる公開済みのリリースとドキュメント、そして譲れない条件として、GitHubアカウントの二要素認証。プロジェクトとしての評判も少し助けになります。ウェブサイト、動画、いくつかのスター。
2. コード署名ポリシー(いちばん大事なところ)。SignPathは、プロジェクトでどうやって署名するのかを正確に知りたがります。そこでリポジトリにCODE_SIGNING.mdを追加しました。どのリポジトリが公式なのか、どの成果物に署名するのか、署名するのはCIのリリースワークフローだけ(だれかのノートパソコンでのローカルビルドでは絶対にしない)こと、だれがリリースを承認するのか、そしてプライバシーポリシーへのリンクを書いています。この点が申請の中心です。
3. ダウンロードページにSignPathを明記する。フォームでは、SignPathに言及する「ダウンロードURL」を求められます。そのためにREADMEのセキュリティの案内を書き直しました。私たちが大切にしたのは正直さです。まだ何も署名されていないうちは、署名は現在準備中だとはっきり書いてあり、まだ本当でないことは約束していません。
4. 本物のプライバシーポリシー。ソフトウェアがデータを扱う場合(私たちの場合はクラッシュレポートとプレイヤーアカウント)、ウェブサイトビルダーの仮の文章ではなく、きちんとしたGDPRのプライバシーポリシーが必要です。
5. 送信。フォームに記入し(リポジトリ、ホームページ、ダウンロードとプライバシーのURL、プロジェクトの一言紹介、評判、ビルドシステム=GitHub Actions)、必要なチェックボックスにチェックを入れて送信します。
そして今は待つだけです。審査は手作業で、たいてい1〜2週間、追加の質問が来ることもあります。承認されたら、署名のステップをCIパイプラインに組み込みます。そうすれば、ゲームをダウンロードするみんなからSmartScreenの警告が消えます。返事が来たら、具体的なCI連携を書いたパート2をお届けします。
うまくいくよう、応援していてください。🤞
コメント