ディストリビューションの信用
成果物をリリース対象に昇格させる方法
バージョン番号をユーザーに知らせる必要がある (バイナリの中にバージョン番号を含める) vs ビルドプロセスの最後までバージョン番号が決まらない
ビルド成果物の、簡単に変更できる場所にバージョン番号を格納して、それを変更する ← 望ましくない
同じリリースバージョンを持つビルド成果物が複数生成されるが、ビルドには一意なビルド番号が付与される
昇格されたビルドであることを利用者に伝える必要もある
方法はいくつかある
リリース専用の鍵で署名する
リリースされたバージョンとそのハッシュ値を、署名付きのマニフェストで公開する
ソフトウェアリリースのハッシュ化 : バイナリからハッシュ値が計算され、配布される
リリースの署名 : 作成者が、リリースのハッシュ値に秘密鍵で署名する。 それにより、ソフトウェアが正当な関係者によってリリースされたことを利用者が検証できる リポジトリには、パッケージ自体と、リポジトリ内のパッケージ全体の情報である Packages ファイルと、リポジトリ自体のメタ情報である Release ファイルが含まれる
パッケージのハッシュ値を Packages ファイルがもつ
Packages ファイルのハッシュ値を Release ファイルが持つ
Release ファイルは発行者によって署名されている