KMF は、鍵の格納を管理するための手段を提供するとともに、それらの鍵の使用に関する包括的なポリシーを提供します。KMF は、次の 3 つの公開鍵技術のポリシー、鍵、および証明書を管理できます。
PKCS #11 プロバイダ、つまり暗号化フレームワークからのトークン
NSS、つまりネットワークセキュリティーサービス
OpenSSL、ファイルベースのキーストア
kmfcfg ツールを使えば、KMF ポリシーエントリの作成、変更、または削除を行えます。また、このツールでは、フレームワークへのプラグインも管理します。KMF は、pktool コマンド経由でキーストアを管理します。詳細は、kmfcfg(1) と pktool(1) のマニュアルページ、および次の各セクションを参照してください。
KMF のポリシーはデータベース内に格納されます。このポリシーデータベースは、KMF プログラミングインタフェースを使用するすべてのアプリケーションによって内部的にアクセスされます。このデータベースを使えば、KMF ライブラリによって管理される鍵や証明書の使用に、制約を設けることができます。アプリケーションは、証明書の検証を試みる際に、ポリシーデータベースをチェックします。kmfcfg コマンドはポリシーデータベースを変更します。
kmfcfg コマンドは、プラグインのための次のサブコマンドを提供します。
list plugin – KMF によって管理されているプラグインを一覧表示します。
install plugin – モジュールのパス名でプラグインをインストールし、そのプラグインのためのキーストアを作成します。KMF からプラグインを削除するには、キーストアを削除します。
uninstall plugin – プラグインのキーストアを削除することによって、KMF からプラグインを削除します。
modify plugin – プラグインのコードで定義されているオプション (debug など) を使用してプラグインを実行できるようにします。
詳細は、kmfcfg(1) のマニュアルページを参照してください。手順については、KMF でサードパーティーのプラグインを管理する方法を参照してください。
KMF では、PKCS #11 トークン、NSS、OpenSSL の 3 つの公開鍵技術に対してキーストアを管理します。pktool コマンドを使えば、これらすべての技術について次のことが行えます。
自己署名付き証明書を生成します
証明書リクエストを生成します
対称鍵を生成します
公開鍵と非公開鍵のペアを生成します
署名のために外部の認証局 (CA) に送信される PKCS #10 証明書署名要求 (CSR) を生成します
PKCS #10 CSR に署名します
キーストアにオブジェクトをインポートします
キーストア内のオブジェクトを一覧表示します
キーストアからオブジェクトを削除します
CRL をダウンロードします
PKCS #11 および NSS 技術の場合には、pktool コマンドで、キーストアまたはキーストアのオブジェクトのパスフレーズを生成して PIN を設定することもできます。
pktool ユーティリティーの使用例については、pktool(1) のマニュアルページおよび表 4を参照してください。