15 Oracle Key VaultクライアントSDKのユーティリティAPI
Oracle Key VaultクライアントSDKのユーティリティAPIは、その他のOracle Key Vault機能とともに使用することで共通の操作を簡略化できます。
Oracle Key Vaultユーティリティ関数で使用される要素と属性の索引は、「属性索引と要素索引」で説明されているものと同じ意味です。
- Oracle Key VaultクライアントSDKのユーティリティAPIについて
Oracle Key VaultクライアントSDKのユーティリティAPIは、その他のOracle Key Vault APIとともに使用することで共通の操作を簡略化できます。 - okvAttrExtractTTLV
okvAttrExtractTTLVでは、指定したOKVTTLV親オブジェクトの子OKVTTLVオブジェクトである属性をOKVAttrに変換します。 - okvAttrMakeTTLV
okvAttrMakeTTLVでは、OKVAttrをOKVTTLV構造体に変換します。 - okvCryptoContextCreate
okvCryptoContextCreateでは、暗号化および復号化操作に必要な暗号化コンテキストを作成します。 - okvCryptoContextFree
okvCryptoContextFreeでは、暗号化コンテキスト構造体に割り当てられたメモリーを解放します。 - okvCryptoContextGetAuthEncryptionAdditionalData
okvCryptoContextGetAuthEncryptionAdditionalDataにより、暗号化コンテキスト構造体から認証済暗号化の追加データのパラメータ値を取得します。 - okvCryptoContextGetAuthEncryptionTag
okvCryptoContextGetAuthEncryptionTagにより、暗号化コンテキスト構造体から認証済暗号化のタグのパラメータ値を取得します。 - okvCryptoContextGetBlockCipherMode
okvCryptoContextGetBlockCipherModeにより、暗号化コンテキスト構造体からブロック暗号モードのパラメータ値を取得します。 - okvCryptoContextGetIV
okvCryptoContextGetIVにより、暗号化コンテキスト構造体からIVのパラメータ値を取得します。 - okvCryptoContextGetPadding
okvCryptoContextGetPaddingにより、暗号化コンテキスト構造体からパディングのパラメータ値を取得します。 - okvCryptoContextGetRandomIV
okvCryptoContextGetRandomIVにより、暗号化コンテキスト構造体からランダムなIVのパラメータ値を取得します。 - okvCryptoContextSetAuthEncryptionAdditionalData
okvCryptoContextSetAuthEncryptionAdditionalDataでは、暗号化コンテキスト構造体に認証済暗号化の追加データのパラメータ値を設定します。 - okvCryptoContextSetAuthEncryptionTag
okvCryptoContextSetAuthEncryptionTagでは、暗号化コンテキスト構造体に認証済暗号化のタグのパラメータ値を設定します。 - okvCryptoContextSetBlockCipherMode
okvCryptoContextSetBlockCipherModeでは、暗号化コンテキスト構造体にブロック暗号モードのパラメータ値を設定します。 - okvCryptoContextSetIV
okvCryptoContextSetIVでは、暗号化コンテキスト構造体にIVのパラメータ値を設定します。 - okvCryptoContextSetPadding
okvCryptoContextSetPaddingでは、暗号化コンテキスト構造体にパディングのパラメータ値を設定します。 - okvCryptoContextSetRandomIV
okvCryptoContextSetRandomIVでは、暗号化コンテキスト構造体にランダムなIVのパラメータ値を設定します。 - okvCryptoResponseGetAuthEncryptionTag
okvCryptoResponseGetAuthEncryptionTagにより、暗号化レスポンス構造体から認証済暗号化のタグの値を取得します。 - okvCryptoResponseGetDecryptedData
okvCryptoResponseGetDecryptedDataにより、復号化レスポンス構造体から、復号化されたデータ値を取得します。 - okvCryptoResponseGetEncryptedData
okvCryptoResponseGetEncryptedDataにより、暗号化レスポンス構造体から、暗号化されたデータ値を取得します。 - okvCryptoResponseGetIV
okvCryptoResponseGetIVにより、ランダムなIVが設定されてIVがリクエストで指定されなかった場合に、暗号化のためにサーバーによって使用される暗号化レスポンス構造体から、IVの値を取得します。 - okvDecryptResponseCreate
okvDecryptResponseCreateでは、復号化操作のレスポンスの詳細を保持する復号化レスポンス構造体を作成します。 - okvDecryptResponseFree
okvDecryptResponseFreeでは、復号化レスポンス構造体に割り当てられたメモリーを解放します。 - okvEncryptResponseCreate
okvEncryptResponseCreateでは、暗号化操作のレスポンスの詳細を保持する暗号化レスポンス構造体を作成します。 - okvEncryptResponseFree
okvEncryptResponseFreeでは、暗号化レスポンス構造体に割り当てられたメモリーを解放します。 - okvGetTextForAttributeNum
okvGetTextForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名を返します。 - okvGetTextForTag
okvGetTextForTagは、有効なKMIPタグの名前を返します。 - okvGetTextForTagEnum
okvGetTextForTagEnumは、ENUMERATION型の有効なKMIPタグに対応する列挙値の名前を返します。 - okvGetTextForTagType
okvGetTextForTagTypeは、有効なKMIP型の名前を返します。 - okvGetTextLenForAttributeNum
okvGetTextLenForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名の長さを返します。 - okvObjGetAttrNo
okvObjGetAttrNoは、特定のTTLVオブジェクトに対応するOracle Key Vault属性番号を返します。
15.1 Oracle Key VaultクライアントSDKのユーティリティAPIについて
Oracle Key VaultクライアントSDKのユーティリティAPIは、その他のOracle Key Vault APIとともに使用することで共通の操作を簡略化できます。
クライアントSDKのユーティリティAPIの要素と属性の索引は、Oracle Key Vault KMIP属性APIと同じ構造です。
15.2 okvAttrExtractTTLV
okvAttrExtractTTLVでは、指定したOKVTTLV親オブジェクトの子OKVTTLVオブジェクトである属性をOKVAttrに変換します。
カテゴリ
KMIPユーティリティAPI
用途
okvAttrExtractTTLVでは、指定したOKVTTLV親オブジェクトの子OKVTTLVオブジェクトである属性をOKVAttrに変換します。
構文
OKVErrNo okvAttrExtractTTLV(OKVEnv *env, OKVTTLV *attr_ttlv,
OKVAttr *attr_col);パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vault環境ハンドル。 |
attr_ttlv |
IN |
属性が含まれているTTLV親オブジェクト。 |
attr_col |
OUT |
属性のコレクション。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
コメント
なし。
例
OKVAttr attr_struct;
ub4 index = 0;
memset((void *)&attr_struct, 0, sizeof(attr_struct));
...
okvAttrExtractTTLV(env, ttlv, &attr_struct);
printf("\nAttributes Extracted:");
printf("\nName: %s ", attr_struct.name[index].name);
printf("\nName Length: %d ", attr_struct.name[index].namel);
/* Null terminate the unique identifier */
attr_struct.unique_identifier.id[attr_struct.unique_identifier.idl] = 0;
printf("\nUnique ID: %s ", attr_struct.unique_identifier.id);
printf("\nUnique ID Length: %d ", attr_struct.unique_identifier.idl);
printf("\nCryptographic Algorithm: %d ", attr_struct.crypto_algorithm);関連項目
15.3 okvAttrMakeTTLV
okvAttrMakeTTLVでは、OKVAttrをOKVTTLV構造体に変換します。
カテゴリ
KMIPユーティリティAPI
用途
okvAttrMakeTTLVでは、OKVAttrをOKVTTLV構造に変換し、OKVTTLV内のすべての新規属性が指定されたOKVTTLV親オブジェクトの下に収集されます。
構文
OKVErrNo okvAttrMakeTTLV(OKVEnv *env, OKVAttr *attr_col
OKVTTLV *attr_ttlv);パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
IN |
Oracle Key Vault環境ハンドル。 |
attr_col |
IN |
属性のコレクション。 |
attr_ttlv |
OUT |
属性が含まれているTTLV親オブジェクト。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
コメント
複数インスタンス属性については、属性の数を設定する必要があります。たとえば、nameは複数インスタンス属性です。そのため、nameを追加する場合は、name_countも指定する必要があります。
例
OKVTTLV *ttlv = (OKVTTLV *)NULL; OKVOps *ops; OKVAttr attrs; memset((void *)&attrs, 0, sizeof(attrs)); ... /* Adding name attribute to the structure */ ub4 index = 0; attrs.name_count = 1; attrs.name[index].name = "attr_name"; attrs.name[index].namel = strlen(attrs.name[index].name); attrs.name[index].type = 1; /* Adding cryptographic algo attribute to the structure */ attrs.crypto_algorithm = CRYPTO_ALG_AES; /* Adding unique identifier attribute to the structure */ attrs.unique_identifier.id = uid; attrs.unique_identifier.idl = strlen(attrs.unique_identifier.id); ops = okvOpsCreate(env, OKVOpAddAttribute); ttlv = okvTTLVGetRequest(env, ops); /* Convert OKVAttr structure to TTLV Attributes Object */ okvAttrMakeTTLV(env, &attrs, ttlv);
15.4 okvCryptoContextCreate
okvCryptoContextCreateでは、暗号化および復号化操作に必要な暗号化コンテキストを作成します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextCreateでは、暗号化および復号化操作に必要な暗号化コンテキストを作成します。
構文
OKVCryptoContext *okvCryptoContextCreate(OKVEnv *env, OKVOpsNo operation);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
operation |
|
KMIP操作。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVCryptoContext * |
OKVCryptoContextオブジェクトへのポインタ。 成功: OKVCryptoContextオブジェクトへのポインタ。 失敗: NULLポインタ。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt);
15.5 okvCryptoContextFree
okvCryptoContextFreeでは、暗号化コンテキスト構造体に割り当てられたメモリーを解放します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextFreeでは、暗号化コンテキスト構造体に割り当てられたメモリーを解放します。
構文
void okvCryptoContextFree(OKVEnv *env, OKVCryptoContext** crypto_context);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
戻り値
値は返されません。
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); ... okvCryptoContextFree(env, &crypto_context);
15.6 okvCryptoContextGetAuthEncryptionAdditionalData
okvCryptoContextGetAuthEncryptionAdditionalDataにより、暗号化コンテキスト構造体から認証済暗号化の追加データのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetAuthEncryptionAdditionalDataにより、暗号化コンテキスト構造体から認証済暗号化の追加データのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetAuthEncryptionAdditionalData(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *auth_encryption_additional_data,
ub4 *auth_encryption_additional_datal);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
auth_encryption_additional_data |
|
認証済暗号化の追加データ値。 |
auth_encryption_additional_datal |
|
認証済暗号化の追加データ値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 *auth_enc_addl_data = (ub1 *)NULL;
ub4 auth_enc_addl_datal = 0;
okvCryptoContextGetAuthEncryptionAdditionalData (env, crypto_context,
auth_enc_addl_data,
&auth_enc_addl_datal);
15.7 okvCryptoContextGetAuthEncryptionTag
okvCryptoContextGetAuthEncryptionTagにより、暗号化コンテキスト構造体から認証済暗号化のタグのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetAuthEncryptionTagにより、暗号化コンテキスト構造体から認証済暗号化のタグのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetAuthEncryptionTag(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *auth_encryption_tag,
ub4 *auth_encryption_tagl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
auth_encryption_tag |
|
認証済暗号化のタグの値。 |
auth_encryption_tagl |
|
認証済暗号化のタグの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 *auth_enc_tag = (ub1 *)NULL;
ub4 auth_enc_tagl = 0;
okvCryptoContextGetAuthEncryptionTag(env, crypto_context,
auth_enc_tag, &auth_enc_tagl);
15.8 okvCryptoContextGetBlockCipherMode
okvCryptoContextGetBlockCipherModeにより、暗号化コンテキスト構造体からブロック暗号モードのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetBlockCipherModeにより、暗号化コンテキスト構造体からブロック暗号モードのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetBlockCipherMode(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub4 *block_cipher_mode);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
block_cipher_mode |
|
ブロック暗号モードの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub4 block_cipher_mode; okvCryptoContextGetBlockCipherMode(env, crypto_context, &block_cipher_mode);
15.9 okvCryptoContextGetIV
okvCryptoContextGetIVにより、暗号化コンテキスト構造体からIVのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetIVにより、暗号化コンテキスト構造体からIVのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetIV(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *iv, ub4 *ivl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
iv |
|
IVの値。 |
ivl |
|
IVの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 *iv = (ub1 *)NULL; ub4 ivl = 0; okvCryptoContextGetIV(env, crypto_context, iv, &ivl);
15.10 okvCryptoContextGetPadding
okvCryptoContextGetPaddingにより、暗号化コンテキスト構造体からパディングのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetPaddingにより、暗号化コンテキスト構造体からパディングのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetPadding(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub4 *padding);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
padding |
|
パディングの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub4 padding; okvCryptoContextGetPadding(env, crypto_context, &padding);
15.11 okvCryptoContextGetRandomIV
okvCryptoContextGetRandomIVにより、暗号化コンテキスト構造体からランダムなIVのパラメータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextGetRandomIVにより、暗号化コンテキスト構造体からランダムなIVのパラメータ値を取得します。
構文
OKVErrNo okvCryptoContextGetRandomIV(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub8 *random_iv);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
random_iv |
|
ランダムなIVの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub8 random_iv; okvCryptoContextGetRandomIV(env, crypto_context, &random_iv);
15.12 okvCryptoContextSetAuthEncryptionAdditionalData
okvCryptoContextSetAuthEncryptionAdditionalDataでは、暗号化コンテキスト構造体に認証済暗号化の追加データのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetAuthEncryptionAdditionalDataでは、暗号化コンテキスト構造体に認証済暗号化の追加データのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetAuthEncryptionAdditionalData(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *auth_encryption_additional_data,
ub4 auth_encryption_additional_datal);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
auth_encryption_additional_data |
|
認証済暗号化の追加データ値。 |
auth_encryption_additional_datal |
|
認証済暗号化の追加データ値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt);
ub1 auth_enc_addl_data[] = "Additional Data";
ub4 auth_enc_addl_datal = strlen((const char *) auth_enc_addl_data);
okvCryptoContextSetAuthEncryptionAdditionalData(env, crypto_context, auth_enc_addl_data,
auth_enc_addl_datal);
15.13 okvCryptoContextSetAuthEncryptionTag
okvCryptoContextSetAuthEncryptionTagでは、暗号化コンテキスト構造体に認証済暗号化のタグのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetAuthEncryptionTagでは、暗号化コンテキスト構造体に認証済暗号化のタグのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetAuthEncryptionTag(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *auth_encryption_tag,
ub4 auth_encryption_tagl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
auth_encryption_tag |
|
認証済暗号化のタグの値。 |
auth_encryption_tagl |
|
認証済暗号化のタグの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); ub1 auth_enc_tag[] = "Auth Tag"; ub4 auth_enc_tagl = strlen((const char *) auth_enc_tag); okvCryptoContextSetAuthEncryptionTag(env, crypto_context, auth_enc_tag, auth_enc_tagl);
15.14 okvCryptoContextSetBlockCipherMode
okvCryptoContextSetBlockCipherModeでは、暗号化コンテキスト構造体にブロック暗号モードのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetBlockCipherModeでは、暗号化コンテキスト構造体にブロック暗号モードのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetBlockCipherMode(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub4 block_cipher_mode);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
block_cipher_mode |
|
ブロック暗号モードの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); okvCryptoContextSetBlockCipherMode(env, crypto_context, BLK_CIPHER_CBC);
15.15 okvCryptoContextSetIV
okvCryptoContextSetIVでは、暗号化コンテキスト構造体にIVのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetIVでは、暗号化コンテキスト構造体にIVのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetIV(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub1 *iv, ub4 ivl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
iv |
|
IVの値。 |
ivl |
|
IVの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); ub1 iv[] = "5432109876543210"; ub4 ivl = strlen((const char *) iv); okvCryptoContextSetIV(env, crypto_context, iv, ivl);
15.16 okvCryptoContextSetPadding
okvCryptoContextSetPaddingでは、暗号化コンテキスト構造体にパディングのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetPaddingでは、暗号化コンテキスト構造体にパディングのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetPadding(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub4 padding);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
padding |
|
パディングの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); okvCryptoContextSetPadding(env, crypto_context, PADDING_PKCS5);
15.17 okvCryptoContextSetRandomIV
okvCryptoContextSetRandomIVでは、暗号化コンテキスト構造体にランダムなIVのパラメータ値を設定します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoContextSetRandomIVでは、暗号化コンテキスト構造体にランダムなIVのパラメータ値を設定します。
構文
OKVErrNo okvCryptoContextSetRandomIV(OKVEnv *env,
OKVCryptoContext *crypto_context,
ub8 random_iv);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
crypto_context |
|
暗号化コンテキストには、暗号化パラメータやIVなどの暗号化/復号化に必要なパラメータが含まれています。 |
random_iv |
|
ランダムなIVの値。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVCryptoContext *crypto_context = okvCryptoContextCreate(env, OKVOpEncrypt); okvCryptoContextSetRandomIV(env, crypto_context, (ub8)1);
15.18 okvCryptoResponseGetAuthEncryptionTag
okvCryptoResponseGetAuthEncryptionTagにより、暗号化レスポンス構造体から認証済暗号化のタグの値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoResponseGetAuthEncryptionTagにより、暗号化レスポンス構造体から認証済暗号化のタグの値を取得します。
構文
OKVErrNo okvCryptoResponseGetAuthEncryptionTag(OKVEnv *env,
OKVEncryptResponse *encrypt_response,
ub1 *auth_encryption_tag,
ub4 *auth_encryption_tagl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
encrypt_response |
|
暗号化操作のレスポンス。 |
auth_encryption_tag |
|
認証済暗号化のタグの値。 |
auth_encryption_tagl |
|
認証済暗号化のタグの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 auth_enc_tag[100]; ub4 auth_enc_tagl = sizeof(auth_enc_tag); ... /* Perform Encrypt operation and get encrypt operation response in 'encrypt_response' */ ... memset(auth_enc_tag, 0, auth_enc_tagl); okvCryptoResponseGetAuthEncryptionTag(env, encrypt_response, auth_enc_tag, &auth_enc_tagl);
15.19 okvCryptoResponseGetDecryptedData
okvCryptoResponseGetDecryptedDataにより、復号化レスポンス構造体から、復号化されたデータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoResponseGetDecryptedDataにより、復号化レスポンス構造体から、復号化されたデータ値を取得します。
構文
OKVErrNo okvCryptoResponseGetDecryptedData(OKVEnv *env,
OKVDecryptResponse *decrypt_response,
ub1 *decrypted_data,
ub4 *decrypted_datal);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
decrypt_response |
|
復号化操作のレスポンス。 |
decrypted_data |
|
復号化されたデータ値。 |
decrypted_datal |
|
復号化されたデータ値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 decrypted_data[100]; ub4 decrypted_datal = sizeof(decrypted_data); ... /* Perform Decrypt operation and get decrypt operation response in 'decrypt_response' */ ... memset(decrypted_data, 0, decrypted_datal); okvCryptoResponseGetDecryptedData(env, decrypt_response, decrypted_data, &decrypted_datal);
15.20 okvCryptoResponseGetEncryptedData
okvCryptoResponseGetEncryptedDataにより、暗号化レスポンス構造体から、暗号化されたデータ値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoResponseGetEncryptedDataにより、暗号化レスポンス構造体から、暗号化されたデータ値を取得します。
構文
OKVErrNo okvCryptoResponseGetEncryptedData(OKVEnv *env,
OKVEncryptResponse *encrypt_response,
ub1 *encrypted_data, ub4 *encrypted_datal);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
encrypt_response |
|
暗号化操作のレスポンス。 |
encrypted_data |
|
暗号化されたデータ値。 |
encrypted_datal |
|
暗号化されたデータ値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 encrypted_data[100]; ub4 encrypted_datal = sizeof(encrypted_data); ... /* Perform Encrypt operation and get encrypt operation response in 'encrypt_response' */ ... memset(encrypted_data, 0, encrypted_datal); okvCryptoResponseGetEncryptedData(env, encrypt_response, encrypted_data, &encrypted_datal);
15.21 okvCryptoResponseGetIV
okvCryptoResponseGetIVにより、ランダムなIVが設定されてIVがリクエストで指定されなかった場合に、暗号化のためにサーバーによって使用される暗号化レスポンス構造体から、IVの値を取得します。
カテゴリ
KMIPユーティリティAPI
用途
okvCryptoResponseGetIVにより、ランダムなIVが設定されてIVがリクエストで指定されなかった場合に、暗号化のためにサーバーによって使用される暗号化レスポンス構造体から、IVの値を取得します。
構文
OKVErrNo okvCryptoResponseGetIV(OKVEnv *env,
OKVEncryptResponse *encrypt_response,
ub1 *iv, ub4 *ivl);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
encrypt_response |
|
暗号化操作のレスポンス。 |
iv |
|
IVの値。 |
ivl |
|
IVの値の長さ。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVErrNo |
Oracle Key Vaultエラー番号。 成功: OKV_SUCCESS (0)が返されます。 失敗: エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
ub1 iv[100]; ub4 ivl = sizeof(iv); ... /* Perform Encrypt operation and get encrypt operation response in 'encrypt_response' */ ... memset(iv, 0, ivl); okvCryptoResponseGetIV(env, encrypt_response, iv, &ivl);
15.22 okvDecryptResponseCreate
okvDecryptResponseCreateでは、復号化操作のレスポンスの詳細を保持する復号化レスポンス構造体を作成します。
カテゴリ
KMIPユーティリティAPI
用途
okvDecryptResponseCreateでは、復号化操作のレスポンスの詳細を保持する復号化レスポンス構造体を作成します。
構文
OKVDecryptResponse *okvDecryptResponseCreate(OKVEnv *env);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVDecryptResponse * |
OKVDecryptResponseオブジェクトへのポインタ。 成功: OKVDecryptResponseオブジェクトへのポインタ。 失敗: NULLポインタ。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVDecryptResponse *decrypt_response = okvDecryptResponseCreate(env);
15.23 okvDecryptResponseFree
okvDecryptResponseFreeでは、復号化レスポンス構造体に割り当てられたメモリーを解放します。
カテゴリ
KMIPユーティリティAPI
用途
okvDecryptResponseFreeでは、復号化レスポンス構造体に割り当てられたメモリーを解放します。
構文
void okvDecryptResponseFree(OKVEnv *env, OKVDecryptResponse** decrypt_response);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
decrypt_response |
|
復号化操作のレスポンス。 |
戻り値
値は返されません。
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVDecryptResponse *decrypt_response = okvDecryptResponseCreate(env); ... okvDecryptResponseFree(env, &decrypt_response);
15.24 okvEncryptResponseCreate
okvEncryptResponseCreateでは、暗号化操作のレスポンスの詳細を保持する暗号化レスポンス構造体を作成します。
カテゴリ
KMIPユーティリティAPI
用途
okvEncryptResponseCreateでは、暗号化操作のレスポンスの詳細を保持する暗号化レスポンス構造体を作成します。
構文
OKVEncryptResponse *okvEncryptResponseCreate(OKVEnv *env);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVEncryptResponse * |
OKVEncryptResponseオブジェクトへのポインタ。 成功: OKVEncryptResponseオブジェクトへのポインタ。 失敗: NULLポインタ。 |
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVEncryptResponse *encrypt_response = okvEncryptResponseCreate(env);
15.25 okvEncryptResponseFree
okvEncryptResponseFreeでは、暗号化レスポンス構造体に割り当てられたメモリーを解放します。
カテゴリ
KMIPユーティリティAPI
用途
okvEncryptResponseFreeでは、暗号化レスポンス構造体に割り当てられたメモリーを解放します。
構文
void okvEncryptResponseFree(OKVEnv *env, OKVEncryptResponse** encrypt_response);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
encrypt_response |
|
暗号化操作のレスポンス。 |
戻り値
値は返されません。
サポートされているバージョン
Oracle Key Vault C SDKリリース21.4.0.0.0以降。
コメント
なし。
例
OKVEncryptResponse *encrypt_response = okvEncryptResponseCreate(env); ... okvEncryptResponseFree(env, &encrypt_response);
15.26 okvGetTextForAttributeNum
okvGetTextForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名を返します。
カテゴリ
KMIPユーティリティAPI
用途
okvGetTextForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名を返します。
構文
oratext *okvGetTextForAttributeNum(OKVAttrNo attrno);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
attrno |
|
KMIP属性のOracle Key Vault属性番号。 |
戻り値
| 戻り値 | 説明 |
|---|---|
oratext* |
KMIP属性の名前。 成功: KMIP属性の名前への有効なポインタ。 失敗: NULLポインタが返されます。 |
コメント
なし。
例
printf("%s", okvGetTextForAttributeNum(OKVAttrActivationDate));
15.27 okvGetTextForTag
okvGetTextForTagは、有効なKMIPタグの名前を返します。
カテゴリ
KMIPユーティリティAPI
用途
okvGetTextForTagは、有効なKMIPタグの名前を返します。無効なKMIPタグの場合は、NULL値が返されます。
構文
oratext *okvGetTextForTag(OKVTag tag);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
tag |
IN |
KMIPタグ |
戻り値
| 戻り値 | 説明 |
|---|---|
oratext* |
KMIPタグ名。 成功: KMIPタグ名への有効なポインタが返されます。 失敗: |
コメント
なし。
例
printf("%s", okvGetTextForTag(OKVDEF_TAG_ID));15.28 okvGetTextForTagEnum
okvGetTextForTagEnumは、ENUMERATION型の有効なKMIPタグに対応する列挙値の名前を返します。
カテゴリ
KMIPユーティリティAPI
用途
okvGetTextForTagEnumは、EMUMERATION型の有効なKMIPタグに対応する列挙値の名前を返します。
構文
oratext *okvGetTextForTagEnum(OKVTag tag, ub4 val);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
tag |
IN |
KMIP列挙タグ |
val |
IN |
KMIP列挙タグ値 |
戻り値
| 戻り値 | 説明 |
|---|---|
oratext* |
KMIP列挙タグ値の名前。 成功: KMIP列挙タグ値の名前への有効なポインタが返されます。 失敗: |
コメント
KMIPタグが無効な場合やKMIPタグの値が無効な場合、またはKMIPタグがENUMERATION型でない場合は、NULL値が返されます。
例
printf("%s", okvGetTextForTagEnum(OKVDEF_TAG_STATE, OKVDEF_STATE_ACTIVE));15.29 okvGetTextForTagType
okvGetTextForTagTypeは、有効なKMIP型の名前を返します。
カテゴリ
KMIPユーティリティAPI
用途
okvGetTextForTagTypeは、有効なKMIP型の名前を返します。無効なKMIP型の場合は、NULL値が返されます。
構文
oratext *okvGetTextForTagType(OKVType typ);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
typ |
IN |
KMIP型 |
戻り値
| 戻り値 | 説明 |
|---|---|
oratext* |
KMIP型名。 成功: KMIP型名への有効なポインタが返されます。 失敗: |
コメント
なし。
例
printf("%s", okvGetTextForTagType(OKVDEF_ITEM_TYPE_INT));15.30 okvGetTextLenForAttributeNum
okvGetTextLenForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名の長さを返します。
カテゴリ
KMIPユーティリティAPI
用途
okvGetTextLenForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名の長さを返します。
構文
ub4 okvGetTextLenForAttributeNum(OKVAttrNo attrno);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
attrno |
|
KMIP属性のOracle Key Vault属性番号。 |
戻り値
| 戻り値 | 説明 |
|---|---|
ub4 |
属性名の長さ。 成功: バッファの長さが戻されます。 失敗: |
コメント
なし。
例
printf("%d", okvGetTextLenForAttributeNum(OKVAttrActivationDate));
15.31 okvObjGetAttrNo
okvObjGetAttrNoは、特定のTTLVオブジェクトに対応するOracle Key Vault属性番号を返します。
カテゴリ
KMIPユーティリティAPI
用途
okvObjGetAttrNoは、特定のTTLVオブジェクトに対応するOracle Key Vault属性番号を返します。
構文
OKVAttrNo okvObjGetAttrNo(OKVEnv *env, OKVTTLV *ttlv);
パラメータ
| パラメータ | IN/OUT | 説明 |
|---|---|---|
env |
|
Oracle Key Vault環境ハンドル。 |
ttlv |
IN |
OKVTTLVオブジェクト。 |
戻り値
| 戻り値 | 説明 |
|---|---|
OKVAttrNo |
TTLVオブジェクトのOracle Key Vault属性番号。 成功: 特定のTTLVオブジェクトに対応するOracle Key Vault属性番号が返されます。 失敗: |
コメント
なし。
例
OKVTTLV *ttlv = (OKVTTLV *) NULL;
...
switch (okvObjGetAttrNo(env, ttlv))
{
...
case OKVAttrObjType:
...
case OKVAttrCryptoAlg:
...
case OKVAttrCryptoLen:
...
case OKVAttrCryptoUsageMask:
...
}