JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での Image Packaging System を使用したソフトウェアのパッケージ化および配布     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  IPS の設計目標、概念、および用語

2.  IPS を使用したソフトウェアのパッケージ化

3.  ソフトウェアパッケージのインストール、削除、および更新

4.  パッケージの依存関係の指定

5.  バリエーションの許可

6.  プログラムによるパッケージマニフェストの変更

7.  パッケージインストールの一環としてのシステム変更の自動化

8.  パッケージ更新の高度なトピック

9.  IPS パッケージの署名

パッケージマニフェストの署名

署名アクションの定義

署名付きパッケージマニフェストの発行

署名付きパッケージのトラブルシューティング

チェーン証明書が見つからない

承認された証明書が見つからない

自己署名付き証明書が信頼できない

署名の値が期待された値と一致しない

重要な拡張機能が不明である

拡張機能の値が不明である

証明書の承認されていない使用

予期しないハッシュ値

証明書が失効している

10.  非大域ゾーンの処理

11.  発行されたパッケージの変更

A.  パッケージの分類

B.  IPS を使用して Oracle Solaris OS をパッケージ化する方法

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

パッケージマニフェストの署名

IPS パッケージマニフェストには署名することができ、その署名はマニフェストの一部になります。

署名アクションの定義

ほかのすべてのマニフェスト内容がアクションとして表されるのとまったく同様に、署名もアクションとして表されます。マニフェストにはすべてのパッケージメタデータ (ファイルアクセス権、所有権、内容のハッシュなど) が含まれているため、マニフェストがその発行以降変わってないことを検証する署名アクションはシステム検証の重要な一部分です。

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 署名アルゴリズムの一例は rsa-sha256 です。ハイフンのあとの文字列 (この例では sha256) は、メッセージテキストを RSA アルゴリズムが使用できる単一値に変えるために使用するハッシュアルゴリズムを指定します。

ハッシュのみ

2 つめのタイプの署名アルゴリズムはハッシュのみの計算です。このタイプのアルゴリズムは、主としてテストやプロセス検証のために存在し、ハッシュを署名値として提示します。このタイプの署名アクションは、ペイロード証明書ハッシュがないことによって示されます。このタイプの署名アクションは、イメージが署名をチェックするように構成されている場合に検証されます。ただし、署名が必要な場合、その存在は署名とみなされません。次の例は、ハッシュのみの署名アクションを示しています。

signature algorithm=hash_algorithm value=hash \
    version=pkg_version_of_signature

署名付きパッケージマニフェストの発行

署名付きマニフェストの発行は 2 段階のプロセスです。このプロセスでは、パッケージはそのタイムスタンプも含め、変更されません。

  1. 署名されていないパッケージをリポジトリに発行します。

  2. pkgsign コマンドを使用して署名アクションをリポジトリ内のマニフェストに追加することで、対象のマニフェストを更新します。

このプロセスでは、発行元以外が最初の発行元の署名を無効にすることなく、署名アクションを追加できます。たとえば、会社の品質管理部門では社内にインストールされたすべてのパッケージに署名をして、それらの使用が承認されていることを示す必要がありますが、再発行すると新しいタイムスタンプが作成され、最初の発行元の署名が無効になるため、それらのパッケージの再発行は行わない場合があります。

pkgsign コマンドを使用することが署名付きパッケージを発行する唯一の手段であることに注意してください。すでに署名が含まれているパッケージを発行した場合、その署名は削除され、警告が発行されます。pkgsign(1) のマニュアルページには、pkgsign コマンドの使用方法の例が記載されています。

バリアントを含む署名アクションは無視されます。そのため、マニフェストのペアに対して pkgmerge を実行すると、以前に適用されたすべての署名が無効になります。


注 - パッケージの署名は、パッケージ開発の、パッケージをテストする前の最後の手順にするようにしてください。