ファイルのハッシュを計算する
Windows では Get-FileHash を実行します。Linux と macOS では sha256sum または shasum -a 256 を実行します。出力を SHA256SUMS.txt の該当行と比べてください。
SHA-256 チェックサム。すべてのリリースがインストーラーの隣に SHA256SUMS.txt を同梱します。ハッシュはリリースパイプラインが収集した正確なファイルから計算され、収集ステップは現在のビルドでない成果物を拒みます。中途半端に失敗したビルドが古いインストーラーを黙って再利用することはできません。
アップデータの署名。Tauri のアップデータバンドルは minisign で署名され、公開鍵はアプリケーション自体に埋め込まれています。アップデータの提示が正しく署名されていなければ、アプリはそれを拒否します。
リリースの署名。タグで管理されたリリースパイプラインは、公開されるすべての成果物に、ワークフロー実行の OIDC アイデンティティに紐づくキーレスの Sigstore モードで cosign の署名を付けます。パイプラインは署名ゲートも強制します。成果物の署名が検証されない限り、Windows 版と macOS 版のリリースは公開できません。
1 つ正直な注意点があります。コード署名証明書が存在しないあいだは、自分でビルドした Windows インストーラーや CI から入手したものには、Windows の正式なコード署名が付いていません。署名ゲートはそれらを公開リリースから締め出します。ビルドから入手した場合は、実行する前に SHA-256 ハッシュを検証してください。
Windows では Get-FileHash を実行します。Linux と macOS では sha256sum または shasum -a 256 を実行します。出力を SHA256SUMS.txt の該当行と比べてください。
チェックサムは、それが記述するリリースとともに公開されます。公式リリースから SHA256SUMS.txt をダウンロードし、インストーラーのハッシュが一致すれば、そのファイルはパイプラインが作ったものです。
アプリ内アップデートは、アプリケーションにコンパイルされた minisign の公開鍵で検証されます。ダウンロードした更新ファイルを手動で信頼する必要は一切ありません。
ダウンロードの実績のない未署名の実行ファイルは、Windows のダウンロード警告やアンチウイルスのヒューリスティックが警告するファイルの形そのものです。これは証明書を持たないことのコストであって、マルウェアの証拠ではありません。SHA-256 ハッシュを検証し、公開済みチェックサムと一致するハッシュをアンチウイルスがまだ検出する場合は、誤検知としてベンダーに報告してください。この制限はリポジトリのビルドワークフローのコメントに公開されています。
成果物ごとに SHA256SUMS.txt で公開されます。収集ステップは、記録されたビルドのタイムスタンプより古いインストーラーを拒みます。
アップデータのバンドルはビルド時に署名されます。検証鍵はアプリ内に同梱され、latest.json が署名を指し示します。
公開されたリリース成果物は、リリース実行を行った GitHub の CI ワークフローの OIDC アイデンティティに紐づく形で、Sigstore によるキーレス署名が付けられます。
これはウイルスの報告ではなく、未署名のファイルに対する Windows の警告機能の反応です。SHA256SUMS.txt と SHA-256 ハッシュを比べてください。一致すればそのファイルはパイプラインの出力です。リリースが署名証明書を持てば、この警告は恒久的に消えます。
すべてのリリースでインストーラーの隣、およびダウンロードページの検証セクションにあります。チャットのメッセージだけで届くチェックサムは検証ではありません。公開されているものを使ってください。
ソースからビルドしてください。リポジトリは文書化された npm と cargo のコマンドで再現可能にビルドでき、ローカルのリリーススクリプトは同じ成果物の命名規則で独自のチェックサムを添えて生成します。