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
貴重なご意見を有り難うございました!

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

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

pkgsign ツールでは、パッケージの署名時にその入力に対して可能なすべてのチェックを行うわけではありません。そのため、署名付きパッケージをチェックして、署名後にそれらが適切にインストールされるようにすることが重要です。

このセクションでは、署名付きパッケージのインストールまたは更新を試みたときに発生する可能性のあるエラーを示し、それらのエラーの説明と問題の解決策を提供します。

署名付きパッケージは、署名付きパッケージに固有の理由でインストールまたは更新に失敗することがあります。たとえば、パッケージの署名の検証に失敗した場合、または信頼チェーンが検証できないか、信頼できる証明書にアンカーを設定できない場合、そのパッケージはインストールに失敗します。

署名付きパッケージをインストールする際、次のイメージプロパティーと発行元プロパティーが、パッケージに対して行われるチェックに影響を及ぼします。

イメージプロパティー

発行元プロパティー

これらのプロパティーとその値の詳細は、pkg(1) のマニュアルページを参照してください。

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

次のエラーは、信頼チェーン内の証明書が存在しないか、または間違っている場合に発生します。

pkg install: The certificate which issued this certificate:
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs1_ch1_ta3/emailAddress=cs1_ch1_ta3
could not be found. The issuer is:
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=ch1_ta3/emailAddress=ch1_ta3
The package involved is: pkg://test/example_pkg@1.0,5.11-0:20110919T184152Z

この例では、パッケージが署名されるときに信頼チェーン内に 3 つの証明書がありました。信頼チェーンはトラストアンカーの ta3 という名前の証明書をルートに持ちます。ta3 証明書は、ch1_ta3 という名前のチェーン証明書に署名し、ch1_ta3 cs1_ch1_ta3 という名前のコード署名証明書に署名しました。

pkg コマンドがパッケージのインストールを試みると、コード署名証明書 cs1_ch1_ta3 は見つかりましたが、チェーン証明書 ch1_ta3 は見つからなかったため、信頼チェーンを確立できませんでした。

この問題のもっとも一般的な原因は、正しい証明書を pkgsign-i オプションに指定しなかったことです。

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

次のエラーは前の例に示したエラーに似ていますが、原因が異なります。

pkg install: The certificate which issued this certificate:
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs1_cs8_ch1_ta3/emailAddress=cs1_cs8_ch1_ta3
could not be found. The issuer is:
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs8_ch1_ta3/emailAddress=cs8_ch1_ta3
The package involved is: pkg://test/example_pkg@1.0,5.11-0:20110919T201101Z

この場合、パッケージは cs1_cs8_ch1_ta3 証明書を使って署名され、その証明書は cs8_ch1_ta3 証明書によって署名されたものでした。

問題は、cs8_ch1_ta3 証明書にほかの証明書に署名する権限がなかったことです。特に、cs8_ch1_ta3 証明書では basicConstraints 拡張機能が CA:false に設定されており、クリティカルのマークが付けられていました。

pkg コマンドが信頼チェーンを検証する際、cs1_cs8_ch1_ta3 証明書への署名を許可されている証明書を検出しません。信頼チェーンをリーフからルートまで検証することはできないため、pkg コマンドはそのパッケージをインストールできないようにします。

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

次のエラーは、信頼チェーンが、システムによって信頼されていない自己署名付き証明書で終わるときに発生します。

pkg install: Chain was rooted in an untrusted self-signed certificate.
The package involved is:pkg://test/example_pkg@1.0,5.11-0:20110919T185335Z

テストのために OpenSSL を使用して証明書チェーンを作成した場合、テストのためにのみ使用される証明書を社外で検証してもらう理由がほとんどないために、ルート証明書は通常、自己署名されます。

テストの状況では、2 つの解決策があります。

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

次のエラーは、signature アクションに対する値を、そのアクションの要求どおりにそのパッケージの署名に使用された鍵とペアになっている証明書を使用して検証できなかったときに発生します。

pkg install: A signature in pkg://test/example_pkg@1.0,5.11-0:20110919T195801Z
could not be verified for this reason:
The signature value did not match the expected value. Res: 0
The signature's hash is 0ce15c572961b7a0413b8390c90b7cac18ee9010

このようなエラーの考えられる原因は 2 つあります。

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

次のエラーは、信頼チェーン内の証明書で pkg が認識できない重要な拡張機能が使用されたときに発生します。

pkg install: The certificate whose subject is
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs2_ch1_ta3/emailAddress=cs2_ch1_ta3
could not be verified because it uses a critical extension that pkg5 cannot
handle yet. Extension name:issuerAltName
Extension value:<EMPTY>

pkg がその重要な拡張機能の処理方法を認識するまで、唯一の解決策は、問題となっている重要な拡張機能を使わずにその証明書を再生成することです。

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

次のエラーは前のエラーと似ていますが、その問題が未知の重要な拡張機能に関するものではなく、pkg が認識している拡張機能の、pkg が認識していない値に関するものである点が異なります。

pkg install: The certificate whose subject is
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs5_ch1_ta3/emailAddress=cs5_ch1_ta3
could not be verified because it has an extension with a value that pkg(5)
does not understand.
Extension name:keyUsage
Extension value:Encipher Only

この場合、pkgkeyUsage 拡張機能を認識しますが、その値 Encipher Only は認識しません。このエラーは、問題となっている拡張機能が重要であろうとなかろうと同じように表示されます。

この解決策は、pkg が問題となっている値を認識するまで、その値をその拡張機能から削除するか、その拡張機能を完全に削除することです。

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

次のエラーは、証明書が承認されなかった目的で使用されたときに発生します。

pkg install: The certificate whose subject is
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=ch1_ta3/emailAddress=ch1_ta3
could not be verified because it has been used inappropriately.
The way it is used means that the value for extension keyUsage must include
'DIGITAL SIGNATURE' but the value was 'Certificate Sign, CRL Sign'.

この場合は、証明書 ch1_ta3 がパッケージの署名に使用されました。証明書の keyUsage 拡張機能は、その証明書がほかの証明書と CRL (証明書失効リスト) の署名にのみ有効であることを意味しています。

予期しないハッシュ値

次のエラーは、証明書が発行元から最後に取り出された以降に変更されたことを示しています。

pkg install: Certificate
/tmp/ips.test.7149/0/image0/var/pkg/publisher/test/certs/0ce15c572961b7a0413b8390c90b7cac18ee9010
has been modified on disk. Its hash value is not what was expected.

指定されたパスにある証明書はインストールされているパッケージの検証に使用されますが、ディスク上にあるそれらの内容のハッシュが、署名アクションが想定していたものと一致しません。

簡単な解決策は、その証明書を削除し、pkg でその証明書を再度ダウンロードできるようにすることです。

証明書が失効している

次のエラーは、インストールされているパッケージの信頼チェーン内に存在していた、問題になっている証明書がその証明書の発行者によって失効されたことを示しています。

pkg install: This certificate was revoked:
/C=US/ST=California/L=Menlo Park/O=pkg5/CN=cs1_ch1_ta4/emailAddress=cs1_ch1_ta4
for this reason: None
The package involved is: pkg://test/example_pkg@1.0,5.11-0:20110919T205539Z