Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
/usr/bin/pkgsign [-a hash_algorithm] [-c path_to_signing_certificate] [-i path_to_intermediate_cert] ... [-k path_to_private_key] [-n] -s path_or_uri [--help] [--no-index] [--no-catalog] (fmri|pattern) ...
pkgsign は、指定されたキーと証明書を使用して署名アクションを追加することにより、リポジトリ内で所定の FMRI のマニフェストを直接更新します。変更されたパッケージは、元のタイムスタンプを保持します。
次のオプションを指定できます。
-a を指定すると、デフォルトの署名アルゴリズムではなく、hash_algorithm 署名アルゴリズムが使用されます。デフォルトの署名アルゴリズムは rsa-sha256 です。サポートされている署名アルゴリズムは、rsa-sha256、rsa-sha384、rsa-sha512、sha256、sha384、sha512 です。ハッシュアルゴリズムを指定するだけの署名アルゴリズムを使用すると、署名の値は、パッケージのマニフェストのハッシュになります。rsa とハッシュアルゴリズムを指定する署名アルゴリズムを使用すると、署名の値は、提供された非公開鍵で署名が追加されたマニフェストのハッシュになります (-c オプションと -k オプションを参照)。
-c を指定すると、証明書 path_to_signing_certificate が、このアクションで署名の値を検証するときに使用する証明書として追加されます。-c オプションは、-k オプションでのみ使用されます。
-i を指定すると、証明書 path_to_intermediate_cert が、-c への引数として指定された証明書 path_to_signing_certificate を検証するときに使用する証明書として追加されます。複数の証明書を追加するには、-i を複数回指定します。
-k を指定すると、path_to_private_key に格納された非公開鍵を使用してマニフェストに署名が追加されます。-k オプションは、-c オプションでのみ使用されます。-k が設定されていない場合、署名の値はマニフェストのハッシュになります。
-n を指定すると、評価実行が行われ、リポジトリは一切変更されません。
-s を指定すると、path_or_uri にあるリポジトリ内のパッケージに署名が追加されます。
--help を指定すると、使用法のメッセージが表示されます。
--no-index を指定すると、署名付きマニフェストが再公開されたあとに、リポジトリの検索インデックスが更新されません。
--no-catalog を指定すると、署名付きマニフェストが再公開されたあとに、リポジトリのカタログが更新されません。
例 1 マニフェストのハッシュ値を使用した署名の追加
マニフェストのハッシュ値を使用して、http://localhost:10000 に公開されたパッケージに署名を追加します。多くの場合、これはテストに役立ちます。
$ pkgsign -s http://localhost:10000 -a sha256 \e example_pkg@1.0,5.11-0:20100626T030108Z
例 2 キーと証明書を使用した署名の追加
rsa-sha384 を使用して、/foo/bar 内のファイルリポジトリに公開されたパッケージに署名を追加し、マニフェストをハッシュ化して署名を追加します。署名キーは /key/usr2.key に、関連の証明書は /key/usr2.cert に、その証明書の検証に必要な証明書は /icerts/usr1.cert にあります。
$ pkgsign -s file:///foo/bar/ -a rsa-sha384 \e -k /key/usr2.key -c /key/usr2.cert -i /icerts/usr1.cert \e example_pkg@1.0,5.11-0:20100626T031341Z
次の終了値が返されます。
0
コマンドが成功しました。
1
エラーが発生した。
2
無効なコマンド行オプションが指定された。
3
複数の操作が要求されましたが、それらの一部のみが成功しました。
99
予期しない例外が発生しました。
次の属性については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | package/pkg |
インタフェースの安定性 | 不確実 |
pkg(1), pkgrecv(1), pkgsend(1), pkgrepo(1M), pkg(5)
http://hub.opensolaris.org/bin/view/Project+pkg/