Go to main content
Oracle® Solaris 11 セキュリティー開発者ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

Oracle Solaris 鍵管理フレームワークのコンポーネント

    このセクションでは、次の KMF コンポーネントについて説明します。

  • pktool(1) 鍵管理ツール

  • KMF ポリシーデータベース

  • kmfcfg(1) ポリシー定義およびプラグイン構成ユーティリティー

  • kmftypes.h で定義される KMF データ型と、kmfapi.h および libkmf (3LIB) で定義されるプログラミングインタフェース

KMF 鍵管理ツール

次に示す pktool(1) のサブコマンドは、KMF を特にサポートします。

delete

キーストア内のオブジェクトを削除します。

download

CRL または証明書ファイルを外部ソースからダウンロードします。

export

オブジェクトをキーストアからファイルにエクスポートします。

gencert

自己署名付き X.509v3 証明書を作成します。

gencsr

PKCS#10 Certificate Signing Request (CSR) ファイルを作成します。

genkey

キーストア内に対称キーを作成します。

genkeypair

非対称鍵ペアを作成します。

help

ヘルプメッセージを表示します。

import

オブジェクトを外部ソースからインポートします。

inittoken

PKCS#11 トークンを初期化します。

list

キーストア内のオブジェクトのサマリーを表示します。

setpin

キーストアアクセスのためのユーザー認証パスフレーズを変更します。

signcsr

PKCS#10 CSR に署名します。

tokens

表示可能なすべての PKCS#11 トークンを表示します。

KMF ポリシー実施メカニズム

KMF ポリシーはポリシーの階層ツリーです。デフォルトポリシーは、システムがインストールされるときに定義されます。アプリケーションが別のポリシーを表明しない限り、デフォルトポリシーが適用されます。

アプリケーションによる X.509 証明書の使用はポリシーパラメータによって制御されます。KMF ポリシーはすべての証明書に適用され、特定のキーストアに制限されません。

KMF ポリシーデータベースの管理とプラグインの構成は kmfcfg(1) ユーティリティーを使用します。kmfcfg を使用して、システムのデフォルトデータベースファイル /etc/security/kmfpolicy.xml 内で、あるいはユーザー定義のデータベースファイル内で、ポリシー定義を表示、作成、変更、削除、インポート、およびエクスポートできます。システム KMF ポリシーデータベース内のデフォルトポリシーは変更できません。プラグインの構成については、kmfcfg を使用して、プラグイン情報の表示、KMF プラグインのインストールまたはアンインストール、およびプラグインオプションの変更を行うことができます。

    次に、KMF ポリシー属性の一部を示します。これらのポリシー属性の完全な一覧と説明については、kmfcfg(1) のマニュアルページを参照してください。

  • ポリシー名。アプリケーションはこの名前を参照します。

  • 日付を無視。証明書の有効性を評価するときに証明書に定義されている有効期間を無視します。

  • 不明な EKU を無視。拡張された鍵使用の拡張において認識されない任意の EKU 値を無視します。

  • 検証方式。たとえば OCSP や CRL です。

  • 鍵使用値。この属性は、定義されるポリシーによって必要となる鍵使用値のコンマ区切りリストです。これらのビットは証明書を使用するために設定する必要があります。

  • 拡張された鍵使用値。この属性は、定義されるポリシーによって必要となる拡張された鍵使用 OID のコンマ区切りリストです。証明書を使用するにはこれらの OIDS が存在する必要があります。

ポリシーのデータ型の定義については、kmfpolicy.h ファイルを参照してください。

    Oracle Solaris KMF では次のプラグインライブラリが提供されています。

  • PKCS#11 キーストアプラグイン: kmf_pkcs11

  • OpenSSL キーストアプラグイン: kmf_openssl

  • NSS キーストアプラグイン: kmf_nss

KMF アプリケーションプログラミングインタフェース

Oracle Solaris KMF は、PKI 操作のための抽象 API を提供します。KMF に対して記述されたアプリケーションは、ファイル (OpenSSL)、NSS、PKCS11 トークンなどの複数のキーストアと、OCSP および CRL 検査などの複数の検証モジュールにアクセスできます。KMF API は第三者によって、専有およびレガシーの実装用に拡張できます。

    KMF API は鍵管理フレームワークライブラリ libkmf(3LIB) で提供されます。これらの API によって、アプリケーションでは公開鍵/非公開鍵の鍵ペア、証明書、CSR、証明書検証、CRL、および OCSP 応答処理などの公開鍵オブジェクトを作成して管理することができます。

  • 鍵、証明書、および CSR の操作: 作成および削除、保管および取得、検索、インポート、およびエクスポート

  • 共通の暗号化操作: 署名および検証、証明書を鍵として使用することによる暗号化および復号化

  • 複雑な PKI オブジェクトへのアクセス: X.509 属性および拡張の設定および取得、人間が可読な形式でのデータの抽出

    KMF API は kmfapi.h ファイルで定義され、構造体および型は kmftypes.h ファイルで定義されます。kmfapi.h ファイルには、関数が次のグループで示されます。

  • 設定操作

  • 鍵操作

  • 証明書操作

  • 鍵または証明書を使用した暗号化操作

  • CRL 操作

  • CSR 操作

  • 証明書の取得操作

  • 証明書の設定操作

  • PK12 操作

  • OCSP 操作

  • ポリシー操作

  • エラー処理

  • メモリークリーンアップ操作

  • PKCS#11 トークン用 API

  • 属性管理操作