7 Oracle Key Vault管理API
Oracle Key Vault管理APIでは、Oracle Key Vaultインタフェースのプログラム環境を制御します。
- okvEnvCreate
okvEnvCreateでは、Oracle Key Vault環境ハンドルを作成します。Oracle Key Vault SDKプログラムは、この関数へのコールの成功によって開始します。 - okvEnvFree
okvEnvFreeでは、Oracle Key Vault環境ハンドルを解放します。これにより、Oracle Key Vault環境の終了を示します。 - okvEnvFreeResultObj
okvEnvFreeResultObjでは、Oracle Key Vaultの関数によって戻されたOKVTTLV結果記述子を解放します。 - okvEnvGetOpRequestObj
okvEnvGetOpRequestObjでは、Oracle Key Vault KMIP関数に対応するOKVTTLV記述子のルート(最上位の親)を取得します。 - okvEnvSetConfig
okvEnvSetConfigでは、Oracle Key Vault接続構成コンテキストを設定します。 - okvEnvSetTrace
okvEnvSetTraceでは、Oracle Key Vaultトレース構成コンテキストを設定します。
7.1 okvEnvCreate
okvEnvCreateでは、Oracle Key Vault環境ハンドルを作成します。Oracle Key Vault SDKプログラムは、この関数へのコールの成功によって開始します。
カテゴリ
管理API
用途
okvEnvCreateは、Oracle Key Vault環境ハンドルを作成するために使用します。この環境ハンドルでは、エラー・ハンドルやトレース・コンテキスト、エンドポイント・プログラムに必要な様々なサービス・プロバイダ・インタフェースのハンドルを保持します。すべてのOracle Key Vault関数は、このハンドルの範囲内で実行されます。Oracle Key Vault環境は、この関数へのコールの成功によって開始します。
構文
OKVEnv *okvEnvCreate(OKVMemoryCtx *memctx);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
|
|
IN |
Oracle Key Vaultメモリー管理コンテキスト。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVEnv* |
Oracle Key Vault環境ハンドル。 成功: Oracle Key Vault環境ハンドルへの有効なポインタが返されます。 失敗: |
コメント
Oracle Key Vaultメモリー管理を使用するエンドポイントでは、okvEnvCreateにOKV_MEMORY_FUNCTIONSを渡す必要があります。
Oracle Key VaultクライアントSDKは、クライアントに独自のメモリー管理コンテキストおよびメモリー管理関数を定義するためのオプションを提供します。
たとえば、クライアントではメモリー管理のためにclientMalloc()、clientRealloc()、clientFree()およびclientCtxPを定義しているとします。このクライアントでは、これらの関数を使用できるようにするために、Oracle Key Vaultメモリー・コンテキスト構造体でOracle Key Vault環境ハンドルを初期化します。
... OKVMemoryCtx clientMemory; clientMemory.ctx = clientCtxP; clientMemory.okvMalloc = &clientMalloc; clientMemory.okvRealloc = &clientRealloc; clientMemory.okvFree = &clientFree; okvEnvCreate(&clientMemory); ...
例
OKVEnv *env = (OKVEnv *) NULL;
/* Setup the Oracle Key Vault Environment handle */
printf("\nSetting up Oracle Key Vault Environment handle\n");
env = okvEnvCreate(OKV_MEMORY_FUNCTIONS);
if (!env)
{
printf("\tCould not setup the Oracle Key Vault Environment handle\n");
return 1;
}
else
{
printf("\tSuccessfully setup Oracle Key Vault Environment handle\n\n");
}7.2 okvEnvFree
okvEnvFreeでは、Oracle Key Vault環境ハンドルを解放します。これにより、Oracle Key Vault環境の終了を示します。
カテゴリ
管理API
用途
okvEnvFreeは、Oracle Key Vault環境ハンドルを解放するために使用します。これにより、Oracle Key Vault環境の終了を示します。
構文
void okvEnvFree(OKVEnv **env);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vaultインタフェース環境ハンドル。 |
戻り値
コメント
値は返されません。
なし。
例
OKVEnv *env = (OKVEnv *) NULL;
/* Setup the Oracle Key Vault Environment handle */
printf("\nSetting up Oracle Key Vault Environment handle\n");
env = okvEnvCreate(OKV_MEMORY_FUNCTIONS);
if (!env)
{
printf("\tCould not setup the Oracle Key Vault Environment handle\n");
return 1;
}
else
{
printf("\tSuccessfully setup Oracle Key Vault Environment handle\n\n");
}
...
/* Do some KMIP operations */
...
/* Free the env handle */
printf("Releasing the Environment handle\n");
okvEnvFree(&env);
return 0;7.3 okvEnvFreeResultObj
okvEnvFreeResultObjでは、Oracle Key Vaultの関数によって戻されたOKVTTLV結果記述子を解放します。
カテゴリ
管理API
用途
okvEnvFreeResultObjでは、Oracle Key Vaultの関数によって戻されたOKVTTLV結果記述子を解放します。
Oracle Key Vault KMIP関数は、OKVTTLV記述子を返すことがあります。この記述子は、Oracle Key Vaultヘルパー関数またはOracle Key Vault KMIP拡張関数を使用して詳しく調査する必要があります。結果記述子の親OKVTTLVは、Oracle Key Vault環境ハンドルに格納されますが、Oracle Key Vault関数の完了時には解放されません。
Oracle Key Vault関数の結果記述子は、解釈した後でokvEnvFreeResultObjを使用することで解放できます。
構文
void okvEnvFreeResultObj(OKVEnv *env);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vaultインタフェース環境ハンドル。 |
戻り値
値は返されません。
コメント
Oracle Key Vault関数の結果記述子は、それ以降のOracle Key Vault関数コールによって解放されます。
例
/* Setup the Oracle Key Vault Environment handle 'env' */ ... /* Do some KMIP operations */ ... okvEnvFreeResultObj(env);
7.4 okvEnvGetOpRequestObj
okvEnvGetOpRequestObjでは、Oracle Key Vault KMIP関数に対応するOKVTTLV記述子のルート(最上位の親)を取得します。
カテゴリ
管理API
用途
一部のKMIP関数は、OKVTTLV記述子の引数を使用してTTLVリクエストを作成します。okvEnvGetOpRequestObjは、Oracle Key Vault KMIP関数に対応するOKVTTLV記述子のルート(最上位の親)を取得する場合に使用します。
Oracle Key VaultのokvAttrAddUniqueIDなどの関数はOKVTTLV属性ディスクリプタを作成しますが、そうした関数には親OKVTTLV記述子が必要になります。okvEnvGetOpRequestObj()は、そのようなOracle Key Vault関数に対応する親OKVTTLV記述子を返します。
構文
OKVTTLV *okvEnvGetOpRequestObj(OKVEnv *env);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
| env | IN
|
Oracle Key Vault環境ハンドル。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVTTLV * |
OKVTTLVオブジェクト。 成功: OKVTTLV記述子への有効なポインタが返されます。 失敗: |
コメント
なし。
例
OKVTTLV *request = (OKVTTLV *)NULL; ... /* Setup the Oracle Key Vault Environment handle 'env' */ ... request = okvEnvGetOpRequestObj(env);
7.5 okvEnvSetConfig
okvEnvSetConfigでは、Oracle Key Vault接続構成コンテキストを設定します。
カテゴリ
管理API
用途
okvEnvSetConfigは、SSL接続ウォレットのパスワードを指定するために使用します。SSL接続ウォレットは、エンロール時に作成されます。この関数で使用されるパスワードは、エンドポイントのエンロール時に指定したものです。エンロール時にパスワードを指定していなかった場合は、パスワードとしてNULLを使用してください。
okvEnvSetConfigでは、接続構成の設定に使用する構成ファイルも指定します。このファイルは、Oracle Key Vaultサーバーとの接続の確立時に必要な詳細(サーバーのIPアドレスやサーバーのポート番号などの情報)を保持するためのものです。
構文
OKVErrNo okvEnvSetConfig(OKVEnv *env, oratext *conn_config_file,
oratext *conn_pwd);パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vault環境ハンドル。 |
|
|
IN |
Oracle Key Vault接続構成ファイル。 |
|
|
IN |
SSL接続ウォレットのパスワード。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
コメント
接続構成ファイルは、okvclient.oraファイルです。このファイルはOracle Key Vaultエンドポイントのエンロール時に作成されます。
接続構成ファイルのフルパスを指定しないと、APIは$OKV_HOME/confから構成ファイルを検索しようとします。$OKV_HOMEには、エンドポイント・ソフトウェアをインストールしたディレクトリを設定してください。
例
oratext *pwd = (oratext *)NULL;
...
/* Setup the Oracle Key Vault Environment handle 'env' */
...
printf("Setting up Oracle Key Vault connection configuration\n");
okvEnvSetConfig(env, (oratext *)NULL, (oratext *)pwd);7.6 okvEnvSetTrace
okvEnvSetTraceでは、Oracle Key Vaultトレース構成コンテキストを設定します。
カテゴリ
管理API
用途
okvEnvSetTraceは、トレース・ファイルの場所とトレース・レベルを指定するために使用します。トレース・ファイルには、エンドポイントSDKプログラムによって生成される内部トレースが記録されます。このファイルは、診断やデバッグに役立ちます。トレースのレベルによって、トレースの詳細化または簡略化の程度を決定します。デバッグ・レベルは次の値を取ります(昇順)。
OKV_TRACE_OFF- トレースなしOKV_TRACE_FATAL- 致命的なレベルのみトレースOKV_TRACE_ERROR- エラー・トレースOKV_TRACE_WARN- 警告トレースOKV_TRACE_INFO- 情報トレースOKV_TRACE_DEBUG- デバッグ・トレースOKV_TRACE_ALL- すべてトレース
構文
OKVErrNo okvEnvSetTrace(OKVEnv *env, oratext *trace_file, ub1 debug_level);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vault環境ハンドル。 |
trace_file |
IN |
クライアントSDKトレース・ファイルの場所。 |
debug_level |
IN |
トレースのレベル。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
コメント
なし。例
oratext *trace_dir = (oratext *)NULL;
...
/* Setup the Oracle Key Vault Environment handle 'env' */
...
trace_dir = (oratext *)"/tmp";
printf("Setting up Tracing\n");
okvEnvSetTrace(env, (oratext *)trace_dir, OKV_TRACE_INFO);