次の作業マップは、署名付きパッケージの追加および削除に関する作業を示したものです。
作業 |
説明 |
参照先 |
---|---|---|
証明書をインポートする |
pkgadm addcert コマンドを使って信頼される証明書をインポートする | |
(省略可能) 1 つ以上の証明書の詳細情報を表示する |
pkgadm listcert コマンドを使って証明書の詳細情報を表示する | |
(省略可能) 証明書を削除する |
pkgadm removecert コマンドを使って証明書を削除する | |
(省略可能) プロキシサーバーをセットアップする |
プロキシを備えたファイアウォールの背後にシステムが存在している場合、プロキシサーバーを指定する | |
署名付きパッケージを追加する |
ルート証明書がインポートされると、pkgadd コマンドを使って署名付きパッケージを追加できる | |
(省略可能) 署名付きパッケージを削除する |
署名付きパッケージの削除方法は、署名なしパッケージの削除方法と同一である |
Java キーストア内にルート CA 証明書が存在することを確認します。
# keytool -storepass storepass -list -keystore certfile |
keytool |
非公開鍵とそれらに対応する公開鍵を認証するための X.509 証明書チェーンの Java キーストア (データベース) を管理する。また、信頼されるエンティティが発行した証明書も管理する。keytool コマンドの詳細については、『keytool-Key and Certificate Management Tool』を参照。 |
-storepass storepass |
Java キーストアの完全性を維持するためのパスワードを指定する。 |
-list |
デフォルトで、証明書の MD5 フィンガープリントを出力する。 |
-keystore certfile |
Java キーストア永続ファイルの名前と場所を指定する。 |
Java キーストア内のルート CA 証明書を一時ファイルへエクスポートします。
# keytool -export -storepass storepass -alias gtecybertrustca -keystore gtecybertrustca -keystore /usr/j2se/jre/lib/security/cacerts -file filename |
-export |
信頼される証明書をエクスポートする。 |
-storepass storepass |
Java キーストアの完全性を維持するためのパスワードを指定する。 |
-alias gtecybertrustca |
信頼される証明書の別名を指定する。 |
-keystore certfile |
キーストアファイルの名前と場所を指定する。 |
-file filename |
エクスポートされた証明書を格納するファイルを指定する。 |
信頼される証明書をパッケージキーストアにインポートします。
# pkgadm addcert -t -f format certfile |
-t |
証明書が信頼される CA 証明書であることを示す。このオプションを指定すると、コマンド出力に証明書の詳細情報が含まれ、ユーザーはその情報の確認を求められる。 |
-f format |
証明書または非公開鍵の形式を指定する。インポートする証明書は、PEM (pem)、バイナリ DER (der) のいずれかの形式を使ってコード化されている必要がある。 |
certfile |
証明書を含むファイルを指定する。 |
詳細については、pkgadm のマニュアルページを参照。
一時ファイルを削除します。
次の例は、信頼される証明書をインポートする方法を示しています。この例では、keytool コマンドを使って、Java キーストアからパッケージキーストアへ Sun のルート CA 証明書をインポートしています。
# keytool -export -storepass changeit -alias gtecybertrustca -keystore gtecybertrustca -keystore /usr/j2se/jre/lib/security/cacerts -file /tmp/root.crt Certificate stored in file </tmp/root.crt> # pkgadm addcert -t -f der /tmp/root.crt Enter Keystore Password: storepass Keystore Alias: GTE CyberTrust Root Common Name: GTE CyberTrust Root Certificate Type: Trusted Certificate Issuer Common Name: GTE CyberTrust Root Validity Dates:<Feb 23 23:01:00 1996 GMT>-<Feb 23 23:59:00 2006 GMT> MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:BC... Trusting certificate <GTE CyberTrust Root> Type a Keystore protection Password. Press ENTER for no protection password (not recommended): xxx For Verification: Type a Keystore protection Password. Press ENTER for no protection password (not recommended): xxx Certificate(s) from </tmp/root.crt> are now trusted # rm /tmp/root.crt |
次の例は、ローカルに格納されている証明書の詳細情報を表示する方法を示しています。
# pkgadm listcert -P pass:storepass Keystore Alias: GTE CyberTrust Root Common Name: GTE CyberTrust Root Certificate Type: Trusted Certificate Issuer Common Name: GTE CyberTrust Root Validity Dates: <Feb 23 23:01:00 1996 GMT> - <Feb 23 23:59:00 2006 GMT> MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:BC... |
信頼される証明書をパッケージキーストアから削除します。
# pkgadm removecert -n "certfile" |
-n “certfile” オプションには、ユーザーの証明書と鍵のペアの別名、信頼される証明書の別名のいずれかを指定します。
証明書の別名を表示するには、pkgadm listcert コマンドを使用します。
次の例は、証明書を削除する方法を示しています。
# pkgadm listcert Enter Keystore Password: storepass Keystore Alias: GTE CyberTrust Root Common Name: GTE CyberTrust Root Certificate Type: Trusted Certificate Issuer Common Name: GTE CyberTrust Root Validity Dates:<Feb 23 23:01:00 1996 GMT>-<Feb 23 23:59:00 2006 GMT> MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:BC... # pkgadm removecert -n "GTE CyberTrust Root" Enter Keystore Password: storepass Successfully removed Certificate(s) with alias <GTE CyberTrust Root> |
プロキシを備えたファイアウォールの背後にシステムが存在している場合、プロキシサーバーをセットアップしてからでないと、 pkgadd コマンドを使用して HTTP サーバーからパッケージを追加できません。
スーパーユーザーになるか、同等の役割を引き受けます。
次のいずれかの方法を使ってプロキシサーバーを指定します。
環境変数 http_proxy、HTTPPROXY、HTTPPROXYPORT のいずれかを使ってプロキシサーバーを指定します。
たとえば、次のようになります。
# setenv http_proxy http://mycache.domain:8080 |
または、次のいずれかを指定します。
# setenv HTTPPROXY mycache.domain # setenv HTTPPROXYPORT 8080 |
pkgadd コマンド行でプロキシサーバーを指定します。
たとえば、次のようになります。
# pkgadd -x mycache.domain:8080 -d http://myserver.com/pkg SUNWpkg |
プロキシサーバーの情報を含む管理ファイルを作成します。
たとえば、次のようになります。
# cat /tmp/admin mail= instance=unique partial=ask runlevel=ask idepend=ask rdepend=ask space=ask setuid=ask conflict=ask action=ask networktimeout=60 networkretries=3 authentication=quit keystore=/var/sadm/security basedir=default proxy=mycache.domain:8080 |
続いて、pkgadd -a コマンドでこの管理ファイルを指定します。たとえば、次のようになります。
# pkgadd -a /tmp/admin -d http://myserver.com/pkg SUNWpkg |
次の手順では、Sun のルート CA 証明書がすでにインポートされているものと仮定しています。詳細については、信頼される証明書をパッケージキーストアにインポートする方法 (pkgadm addcert)を参照してください。
プロキシサーバーをセットアップする方法については、プロキシサーバーをセットアップする方法 (pkgadd)を参照してください。
スーパーユーザーになるか、同等の役割を引き受けます。
署名付きパッケージを追加します。
# pkgadd -d /pathname/package-name |
-d device-name オプションには、パッケージのインストール元デバイスを指定します。デバイスとして指定できるのは、ディレクトリ、テープ、フロッピーディスク、リムーバブルディスクのいずれかです。また、pkgtrans コマンドによって作成されたデータストリームを、デバイスとして指定することもできます。
次の例は、ダウンロード済みの署名付きパッケージを追加する方法を示しています。
# # pkgadd -d /tmp/signed_pppd The following packages are available: 1 SUNWpppd Solaris PPP Device Drivers (sparc) 11.10.0,REV=2003.05.08.12.24 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Enter keystore password: ## Verifying signature for signer <User Cert 0> . . . |
次の例は、デバイス名として HTTP URL を指定して署名付きパッケージをインストールする方法を示しています。指定した URL は、ストリーム形式のパッケージを指している必要があります。
# pkgadd -d http://install/signed-video.pkg ## Downloading... ..............25%..............50%..............75%..............100% ## Download Complete . . . |