8 Oracle Key VaultクライアントSDKの接続管理API

この項では、Oracle Key Vault接続管理のインタフェースについて説明します。

8.1 okvConnect

okvConnectでは、Oracle Key Vaultインタフェース・セッションを開始して、Oracle Key Vaultサーバーへの接続を作成します。

カテゴリ

接続管理API

用途

okvConnectは、Oracle Key Vaultインタフェース・セッションを開始して、Oracle Key Vaultサーバーへの接続を作成するために使用します。それ以降のOracle Key Vault関数は、この接続を使用してOracle Key Vaultサーバーと通信します。

構文

OKVErrNo okvConnect(OKVEnv *env);

パラメータ

パラメータ IN/OUT 説明

env

IN

Oracle Key Vault環境ハンドル。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

成功: OKV_SUCCESS (0)が返されます。

失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。

コメント

なし。

OKVErrNo err_no;
...
/* Setup the Oracle Key Vault Environment handle 'env' */
...
printf("Setting up Oracle Key Vault session\n");
err_no = okvConnect(env);

if (err_no)
{
   printf("Could not setup the Oracle Key Vault session\n");
   return 1;
}
else
{
   printf("Successfully setup Oracle Key Vault Session\n");
}

8.2 okvConnSendRecvBytes

okvConnSendRecvBytesでは、Oracle Key VaultサーバーにKMIPリクエスト・メッセージを送信して、Oracle Key Vaultサーバーから戻されたKMIPレスポンス・メッセージを取得します。

カテゴリ

接続管理API

用途

okvConnSendRecvBytesは、Oracle Key VaultサーバーにKMIPリクエスト・メッセージを送信して、Oracle Key Vaultサーバーから戻されたKMIPレスポンス・メッセージを取得するために使用します。Oracle Key Vaultサーバーから返されるレスポンスは、Oracle Key Vaultクライアントとサーバーの間でサポートされる最大ペイロードを超えることはできません。

構文

OKVErrNo okvConnSendRecvBytes(OKVEnv *env,
                              ub1 *reqmsg, ub4 reqmsgl,
                              ub1 **respmsg, ub4 *respmsgl);

パラメータ

パラメータ IN/OUT 説明
env IN

Oracle Key Vault環境ハンドル。

reqmsg IN

KMIP TTLVリクエスト・メッセージ。

reqmsg1 IN

KMIP TTLVリクエスト・メッセージの長さ。

respmsg

IN/OUT

KMIP TTLVレスポンス・メッセージ。

respmsg1

IN/OUT

KMIP TTLVレスポンス・メッセージの長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

成功: OKV_SUCCESS (0)が返されます。

失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。

コメント

エンドポイント・プログラムでは、レスポンス・メッセージ用の領域を割り当てる必要があります。この割り当てられた領域にレスポンス・メッセージが収まらない場合、この関数はエラーを返します。

OKVErrNo err_no;
...
/* Setup the Oracle Key Vault Environment handle 'env' */
...
err_no = okvConnSendRecvBytes(env, (ub1 *)NULL, (ub4)0, (ub1 **)NULL, (ub4 *)0);

if (err_no)
{
   printf("Error while executing okvConnSendRecvBytes\n");
   return 1;
}
else
{
   printf("Successfully executed okvConnSendRecvBytes\n");
}

8.3 okvConnSet

okvConnSetは、ユーザー・クライアント接続プロバイダの設定に使用できます。このプロバイダは、Oracle Key Vaultサーバーへの接続の確立に使用できます。

カテゴリ

接続管理API

用途

okvConnSetは、ユーザー・クライアント接続プロバイダの設定に使用できます。このプロバイダは、Oracle Key Vaultサーバーへの接続の確立に使用できます。それ以降のOracle Key Vault関数は、この接続を使用してOracle Key Vaultサーバーと通信します。

構文

OKVErrNo okvConnSet(OKVEnv *env,
                    void *connCtx,
                    OKVErrNo (*connectFn)(void *ctx),
                    void (*disconnectFn)(void *ctx),
                    OKVErrNo (*sendRecvFn)(void *ctx,
                                           ub1 *send_bytes,
                                           ub4 send_bytes_len,
                                           ub1 **recv_bytes,
                                           ub4 *recv_bytes_len));

パラメータ

パラメータ IN/OUT 説明
env IN

Oracle Key Vault環境ハンドル。

connCtx IN

クライアント定義の接続コンテキスト。

connectFn IN

クライアント定義の接続関数。

disconnectFn IN

クライアント定義の切断関数。

sendRecvFn IN

クライアント定義では、Oracle Key Vaultサーバーにレスポンスを送信して、Oracle Key Vaultサーバー関数からのレスポンスを受信します。

ctx IN

クライアント定義の接続コンテキスト。

send_bytes IN

KMIP TTLVリクエスト・メッセージ。

send_bytes_len IN

KMIP TTLVリクエスト・メッセージの長さ。

recv_bytes IN/OUT

KMIP TTLVレスポンス・メッセージ。

recv_bytes_len IN/OUT

KMIP TTLVレスポンス・メッセージの長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

成功: OKV_SUCCESS (0)が返されます。

失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。

コメント

Oracle Key VaultクライアントSDKは、ネイティブ接続管理サポートも提供しています。エンドポイント・プログラムでは、Oracle Key VaultクライアントSDKに接続管理を任せる場合は特別な処理を実施する必要がありません。

/* Suppose the client has defined clientConnect(), clientDisconnect(),
   clientSendRecv() and clientNatCtxP for connection management. The
   client can make use of these functions by initializing the Oracle Key
   Vault environment handle with the Oracle Key Vault connection context
   structure */
...
OKVErrNo err_no;
err_no = okvConnSet(env, clientNatCtxP, clientConnect(...), clientDisconnect(...), clientSendRecv(...));

if (err_no)
{
   printf("Error while setting the client defined connection functions to environment handle\n");
}
else
{
   printf("Successfully set the environment handle with client defined connection functions");
}

8.4 okvConnUnSet

okvConnUnSetは、クライアント接続プロバイダを解放するために使用します。

カテゴリ

接続管理API

用途

okvConnUnSetは、クライアント接続プロバイダを解放するために使用します。

構文

void okvConnUnSet(OKVEnv *env);

パラメータ

パラメータ IN/OUT 説明
env IN

Oracle Key Vault環境ハンドル。

戻り値

値は返されません。

コメント

Oracle Key VaultクライアントSDKは、ネイティブ接続管理サポートも提供しています。エンドポイント・プログラムでは、Oracle Key VaultクライアントSDKに接続管理を任せる場合は特別な処理を実施する必要がありません。

okvConnUnSet(env);

8.5 okvDisconnect

okvDisconnectでは、Oracle Key Vaultインタフェース・セッションを終了して、エンドポイントとOracle Key Vaultサーバーの間のSSL (Secure Sockets Layer)接続を切断します。

カテゴリ

接続管理API

用途

okvDisconnectにより、Oracle Key Vaultインタフェース・セッションが終了され、エンドポイントとOracle Key Vaultサーバーの間のSSL接続が切断されます。

構文

OKVErrNo okvDisconnect(OKVEnv *env);

パラメータ

パラメータ IN/OUT 説明

env

IN

Oracle Key Vault環境ハンドル。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

成功: OKV_SUCCESS (0)が返されます。

失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。

コメント

なし。

OKVErrNo err_no;
printf("Disconnnecting Oracle Key Vault Session\n");
err_no = okvDisconnect(env);

if (err_no)
{
   printf("Could not disconnect from Oracle Key Vault session\n");
   return 1;
}
else
{
   printf("Successfully disconnected from Oracle Key Vault Session\n");
}