ほかのすべてのマニフェスト内容がアクションとして表されるのとまったく同様に、署名もアクションとして表されます。マニフェストにはすべてのパッケージメタデータ (ファイルアクセス権、所有権、内容のハッシュなど) が含まれているため、マニフェストがその発行以降変わってないことを検証する signature アクションはシステム検証の重要な部分です。
signature アクションは、インストールされたソフトウェアの完全な検証ができるように、配布されたバイナリが含まれるツリーを形成します。
signature アクションの形式は次のとおりです。
signature hash_of_certificate algorithm=signature_algorithm \ value=signature_value \ chain="hashes_of_certificates_needed_to_validate_primary_certificate" \ version=pkg_version_of_signature
ペイロードおよび chain 属性は、発行元のリポジトリから取り出せる x.509 証明書を含む、PEM (Privacy Enhanced Mail) ファイルのパッケージハッシュを表します。ペイロード証明書とは、value の値を検証する証明書です。value は、後述のように用意された、マニフェストのメッセージテキストの署名付きハッシュです。
提示されたほかの証明書は、ペイロード証明書からトラストアンカーに通じる証明書パスを形成する必要があります。
2 種類の署名アルゴリズムがサポートされています。
最初のタイプの署名アルゴリズムは RSA グループのアルゴリズムです。RSA 署名アルゴリズムの一例は rsa-sha256 です。ハイフンのあとの文字列 (この例では sha256) は、メッセージテキストを RSA アルゴリズムが使用できる単一値に変えるために使用するハッシュアルゴリズムを指定します。
2 つめのタイプの署名アルゴリズムはハッシュのみの計算です。このタイプのアルゴリズムは、主としてテストやプロセス検証のために存在し、ハッシュを署名値として提示します。このタイプの署名アクションは、ペイロード証明書ハッシュがないことによって示されます。このタイプの署名アクションは、イメージが署名をチェックするように構成されている場合に検証されます。ただし、署名が必要な場合、その存在は署名とみなされません。次の例は、ハッシュのみの signature アクションを示しています。
signature algorithm=hash_algorithm value=hash \ version=pkg_version_of_signature