7 Oracle Key VaultクライアントSDKの管理API
Oracle Key VaultクライアントSDKの管理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);