ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 鍵管理ポリシーおよびプラグイン構成ユーティリティー
kmfcfg subcommand [option ...]
ユーザーは kmfcfg コマンドを使用すると、鍵管理フレームワーク (KMF) ポリシーデータベースを構成できます。KMF ポリシーデータベース (DB) は、KMF フレームワークから管理される鍵と証明書の使用を制限します。
kmfcfg を使用すると、システムのデフォルトのデータベースファイル /etc/security/kmfpolicy.xml またはユーザー定義のデータベースファイルのポリシー定義を一覧表示、作成、変更、削除、インポート、およびエクスポートできます。
プラグイン構成の場合、ユーザーは kmfcfg を使用して、プラグイン情報の表示、KMF プラグインのインストール/アンインストール、およびプラグインオプションの変更を行えます。
サポートされているサブコマンドは次のとおりです。
ポリシーデータベースファイルに新しいポリシーを追加します。
create サブコマンドの書式は次のとおりです。
create [dbfile=dbfile] policy=policyname [ignore-date=true|false] [ignore-unknown-eku=true|false] [ignore-trust-anchor=true|false] [validity-adjusttime=adjusttime] [ta-name=trust anchor subject DN] [ta-name=trust anchor subject DN | search] [ta-serial=trust anchor serial number] [ocsp-responder=URL] [ocsp-proxy=URL] [ocsp-use-cert-responder=true|false] [ocsp-response-lifetime=timelimit] [ocsp-ignore-response-sign=true|false] [ocsp-responder-cert-name=Issuer DN] [ocsp-responder-cert-serial=serial number] [crl-basefilename=basefilename] [crl-directory=directory] [crl-get-crl-uri=true|false] [crl-proxy=URL] [crl-ignore-crl-sign=true|false] [crl-ignore-crl-date=true|false] [keyusage=digitalSignature|nonRepudiation |keyEncipherment | dataEncipherment | keyAgreement |keyCertSign | cRLSign | encipherOnly | decipherOnly],[...] [ekunames=serverAuth | clientAuth | codeSigning | emailProtection | ipsecEndSystem | ipsecTunnel | ipsecUser | timeStamping | OCSPSigning],[...] [ekuoids=OID,OID,OID...] [mapper-name=name of the mapper] [mapper-dir=dir where mapper library resides] [mapper-path=full pathname of mapper library] [mapper-options=mapper options]
create サブコマンドは次のオプションをサポートします。
これら 2 つの属性は、CRL ファイルの場所を指定するために使用されます。crl-basefilename 属性は CRL ファイルのベースファイル名を表します。crl-directory 属性は、CRL ファイルのディレクトリを表します。デフォルトで現在のディレクトリに設定されています。
crl-get-crl-uri 属性が true に設定され、crl-basefilename が指定されていない場合、キャッシュされた CRL ファイルの basefilename が、CRL ファイルの取得に使用される URI のベース名になります。
crl-get-crl-uri 属性が false に設定されている場合、入力 CRL ファイルを示すために crl-basefilename を指定する必要があります。crl-get-crl-uri はデフォルトで false に設定されています。
これら 2 つの属性は、ファイルベースの CRL プラグインにのみ適用されます。現在のファイルベースの CRL プラグインは file および pkcs11 キーストアです。nss キーストアの場合、CRL の場所は常に NSS 内部データベースです。
証明書の検証の一環として、証明書の配布ポイント拡張機能の URI 情報を使用して CRL ファイルを取得し、動的にキャッシュするかどうかを構成します。
この属性はデフォルトで false に設定されています。
crl-ignore-crl-date が true に設定されている場合、CRL の有効期間は検査されません。
この属性はデフォルトで false に設定されています。
crl-ignore-crl-sign が true に設定されている場合、CRL の署名は検査されません。
この属性はデフォルトで false に設定されています。
crl-get-crl-uri が true に設定されている場合に、CRL ファイルを動的に取得するプロキシサーバーの名前とポートを設定します。
ポート番号は省略できます。ポート番号を指定しない場合、デフォルト値は 8080 です。crl-proxy の設定は、たとえば crl-proxy=webcache.sfbay:8080 のようになります。
新しいポリシーを追加する DB ファイル。指定しない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
定義しているポリシーで必要になる拡張鍵用途 OID のコンマ区切りのリスト。OID は、1.2.3.4 のようにドット表記で表されます。ekuoids の設定は、たとえば ekuoids=1.2.3.4,9.8.7.6.5 のようになります。
定義しているポリシーで必要になる拡張鍵用途名のコンマ区切りリスト。EKUNAMES に使用できる値は、serverAuth、clientAuth、 codeSigning、emailProtection、ipsecEndSystem、ipsecTunnel、ipsecUser、timeStamping、および OCSPSigning です。
OCSP、CRL、鍵用途、および拡張鍵用途の検査はデフォルトで無効になっています。これらのいずれかを有効にするには、特定の検査に対して 1 つまたは複数の属性を指定します。たとえば、ocsp-responder 属性を設定すると、OCSP 検査が有効になります。ekuname 属性または ekuoids 属性を設定すると、拡張鍵用途検査が有効になります。
このポリシーの日付を無視オプションを設定します。デフォルトではこの値は false です。true を指定した場合、ポリシーは、有効性を評価するときに、証明書で定義されている有効期限を無視します。
このポリシーの不明な EKU を無視オプションを設定します。デフォルトではこの値は false です。true の場合、ポリシーは、拡張鍵用途拡張機能の認識できない EKU 値を無視します。
このポリシーのトラストアンカーを無視オプションを設定します。デフォルトではこの値は false です。true を指定した場合、ポリシーは、検証時にトラストアンカーを使用して検証対象の証明書の署名を確認しません。
定義しているポリシーで必要になる鍵用途値のコンマ区切りリスト。使用できる値は、digitalSignature、nonRepudiation、keyEncipherment、dataEncipherment、keyAgreement、keyCertSign、cRLSign、encipherOnly、 decipherOnly です。
この属性を true に設定した場合、OCSP 応答の署名は検証されません。この属性値はデフォルトで false に設定されています。
OCSP のプロキシサーバー名およびポートを設定します。ポート番号は省略できます。ポート番号を指定しない場合、デフォルト値は 8080 です。ocsp-proxy の設定は、たとえば ocsp-proxy="webcache.sfbay:8080" のようになります。
応答が必要になる freshness 期間を設定します。timelimit は、number-day、number-hour、number-minute 、または number-second で指定できます。ocsp-response-lifetime の設定は、たとえば ocsp-response-lifetime=6-hour のようになります。
これらの 2 つの属性は、OCSP 応答者証明書を表します。ocsp-responder-cert-name には、証明書の発行者名を指定します。例については、ta-name オプションを参照してください。ocsp-responder-cert-serial はシリアル番号用で、0x0102030405060708090a0b0c0d0e0f のように 16 進数値で指定する必要があります。OCSP 応答者が証明書の発行者とは異なる場合、および OCSP 応答を検証する必要がある場合は、OCSP 応答者の証明書情報を指定するようにしてください。
OCSP 検証方法で使用する OCSP 応答者の URL を設定します。たとえば、ocsp-responder=http://ocsp.verisign.com/ocsp/status のように設定します。
可能な場合は証明書で定義された応答者を常に使用するように、このポリシーを構成します。
作成されるポリシーレコード。policyname が必要です。
ta-name は証明書を検証するために使用されるトラストアンカーを識別します。KMF ポリシーエンジンは、完全な PKIX パス検証を行うのではなく、単に、検証対象の証明書の親であるようにトラストアンカーを扱います。
明示的な Subject DN が指定されている場合、ta-serial 値と組み合わせて、使用する証明書を一意に識別する必要があります。また、識別された証明書は、選択されているキーストアで使用できる必要があります。
明示的な主体名やシリアル番号の代わりに値 search を使用する場合、KMF ポリシーエンジンは、検証対象の証明書の発行者名に一致する証明書を見つけようとし、それを検証に使用します。
search を使用する場合、ta-serial 値は無視されます。
ta-name を明示的な主体名として指定する場合、その証明書のシリアル番号を ta-serial 値で指定する必要があります。シリアル番号は、たとえば ta-serial=0x01020a0b のように、16 進形式で指定する必要があります。
証明書の有効期限の開始と終了に対する調整時間を設定します。時間は number-day、number-hour、number-minute、または number-second で指定できます。validity-adjusttime の設定は、たとえば validity-adjusttime=6-hour.ta-name="Subject DN" ta-serial=serialNumber のようになります。
これら 2 つの属性は、トラストアンカー証明書を表し、キーストアでトラストアンカーの証明書を見つけるために使用されます。ta-name には、トラストアンカー証明書の主体名の識別名を指定します。たとえば、ta-name="O=Sun Microsystems Inc., \ OU=Solaris Security Technologies Group, \ L=Ashburn, ST=VA, C=US, CN=John Smith" TA 証明書のシリアル番号。これは、発行者 DN とともに、キーストアで TA 証明書を見つけるために使用されます。シリアル番号は、たとえば 0x0102030405060708090a0b0c0d0e のように、16 進数値として指定する必要があります。ignore-trust-anchor 属性の値が false の場合、トラストアンカー属性を設定する必要があります。
これらの 4 つのオプションは、証明書と名前のマッピングをサポートします。mapper-name はマッパーの名前を指定します。たとえば、cn 名は、マッパーオブジェクト kmf_mapper_cn.so.1 を表します。mapper-dir は、デフォルトのマッパーディレクトリ /lib/crypto を上書きします。mapper-path は、マッパーオブジェクトの完全パスを指定します。mapper-options は、ASCII のみから構成される最大 255 バイト長の文字列です。その書式はマッパー固有ですが、マッパーは、たとえば casesensitive,ignoredomain のような、オプションのコンマ区切りリストを受け入れることが期待されます。mapper-path および mapper-name は相互に排他的です。mapper-dir は、mapper-name が設定されている場合にのみ設定できます。mapper-options は、mapper-name または mapper-path が設定されている場合にのみ設定できます。上記の誤った設定のいずれかを使用しようとすると、エラーになり、ポリシーデータベースは変更されません。
指定されたポリシー名に一致したポリシーを削除します。システムのデフォルトポリシー (default) は削除できません。
delete サブコマンドの書式は次のとおりです。
delete [dbfile=dbfile] policy=policyname
delete サブコマンドは次のオプションをサポートします。
指定されたファイルからポリシー定義を読み込みます。dbfile が指定されていない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
削除するポリシーの名前。システムデータベースを使用する場合、policyname が必要です。
あるポリシーデータベースファイルから別のポリシーデータベースファイルに、ポリシーをエクスポートします。
export サブコマンドの書式は次のとおりです。
kmfcfg export policy=policyname outfile=newdbfile [dbfile=dbfile]
export サブコマンドは次のオプションをサポートします。
エクスポートしたポリシーが読み込まれる DB ファイル。dbfile が指定されていない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
エクスポートしたポリシーが保存される DB。
エクスポートされるポリシーレコード。
kmfcfg コマンドのヘルプを表示します。
help サブコマンドの書式は次のとおりです。
help
あるポリシーデータベースファイルから別のポリシーデータベースファイルに、ポリシーをインポートします。
import サブコマンドの書式は次のとおりです。
kmfcfg import policy=policyname infile=inputdbfile [dbfile=dbfile]
import サブコマンドは次のオプションをサポートします。
インポートされるポリシーレコード。
ポリシーの読み込み元の DB ファイル。
新しいポリシーを追加する DB ファイル。指定しない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
引数がない場合、デフォルトのシステムデータベースから、すべてのポリシー定義を一覧表示します。
list サブコマンドの書式は次のとおりです。
list [dbfile=dbfile] [policy=policyname]
list サブコマンドは次のオプションをサポートします。
指定されたファイルからポリシー定義を読み込みます。指定しない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
指定された名前に一致したポリシーのポリシー定義のみを表示します。
指定された名前に一致したポリシーを変更します。システムのデフォルトポリシー (default) は変更できません。
modify サブコマンドの書式は次のとおりです。
modify [dbfile=dbfile] policy=policyname [ignore-date=true|false] [ignore-unknown-eku=true|false] [ignore-trust-anchor=true|false] [validity-adjusttime=adjusttime] [ta-name=trust anchor subject DN] [ta-serial=trust anchor serial number] [ocsp-responder=URL] [ocsp-proxy=URL] [ocsp-use-cert-responder=true|false] [ocsp-response-lifetime=timelimit] [ocsp-ignore-response-sign=true|false] [ocsp-responder-cert-name=Issuer DN] [ocsp-responder-cert-serial=serial number] [ocsp-none=true|false] [crl-basefilename=basefilename] [crl-directory=directory] [crl-get-crl-uri=true|false] [crl-proxy=URL] [crl-ignore-crl-sign=true|false] [crl-ignore-crl-date=true|false] [crl-none=true|false] [keyusage=digitalSignature| nonRepudiation |keyEncipherment | dataEncipherment | keyAgreement |keyCertSign | cRLSign | encipherOnly | decipherOnly],[...] [keyusage-none=true|false] [ekunames=serverAuth | clientAuth | codeSigning | emailProtection | ipsecEndSystem | ipsecTunnel | ipsecUser | timeStamping | OCSPSigning],[...] [ekuoids=OID,OID,OID] [eku-none=true|false] [mapper-name=name of the mapper] [mapper-dir=dir where mapper library resides] [mapper-path=full pathname of mapper library] [mapper-options=mapper options]
modify サブコマンドは、create サブコマンドと同じオプションを多数サポートします。共通のオプションの説明については、create サブコマンドを参照してください。
modify サブコマンドは次の固有のオプションをサポートします。
crl-none が true に設定されている場合、CRL 検査が無効になります。この属性が true に設定されている場合、ほかの CRL 属性は設定できません。
ポリシーを変更するデータベースファイル。指定しない場合、デフォルトは、システム KMF ポリシーデータベースファイル /etc/security/kmfpolicy.xml になります。
eku-none が true に設定されている場合、拡張鍵用途検査が無効になります。eku-none が true に設定されている場合、拡張鍵用途属性 ekuname および ekuoids は同時に設定できません。
keyusage-none が true に設定されている場合、鍵用途検査が無効になります。
この属性が true に設定されている場合、keyusage 属性は同時に設定できません。
ocsp-none が true に設定されている場合、OCSP 検査が無効になります。この属性が true に設定されている場合、ほかの OCSP 属性は同時に設定されません。
変更するポリシーの名前。policyname が必要です。システム KMF ポリシーデータベースの default ポリシーは変更できません。
詳細は、create サブコマンドを参照してください。
プラグインをシステムにインストールします。modulepath フィールドには、KMF プラグイン共有ライブラリオブジェクトへのパス名を指定します。pathname が完全パス名として指定されない場合、共有ライブラリオブジェクトは、/lib/security/$ISA/ を基準とした相対パスであるとみなされます。ISA トークンは、実装で定義されたディレクトリ名に置き換えられます。これは、呼び出し側プログラムの命令セットのアーキテクチャーを基準にした相対パス名を定義します。
KMF プラグイン情報を表示します。
plugin キーワードがない場合、「サブコマンド」節で説明したように、kmfcfg list はポリシー情報を表示します。
plugin オプションを変更します。plugin オプションはプラグインが定義し、プラグインが具体的に解釈するので、このコマンドは任意のオプション文字列を受け入れます。
plugin キーワードがない場合、「サブコマンド」節で説明したように、kmfcfg modify はポリシー構成を更新します。
keystore_name のプラグインをアンインストールします。
例 1 新しいポリシーの作成
次の例は、IPSEC と呼ばれる新しいポリシーをシステムデータベース内に作成します。
$ kmfcfg create IPSEC \ ignore-trust-anchor=true \ ocsp-use-cert-responder=true \ keyusage=keyAgreement,keyEncipherment,dataEncipherment \ ekuname=ipsecTunnel,ipsecUser
次の終了値が返されます。
正常終了。
エラーが発生しました。
デフォルトのシステムポリシーデータベース
次の属性についての詳細は、attributes(5) を参照してください。
|