15 Oracle Key VaultクライアントSDKのユーティリティAPI

Oracle Key VaultクライアントSDKのユーティリティAPIは、その他のOracle Key Vault機能とともに使用することで共通の操作を簡略化できます。

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エラー番号。

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

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

コメント

なし。

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エラー番号。

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

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

コメント

複数インスタンス属性については、属性の数を設定する必要があります。たとえば、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 okvGetTextForAttributeNum

okvGetTextForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名を返します。

カテゴリ

KMIPユーティリティAPI

用途

okvGetTextForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名を返します。

構文

oratext *okvGetTextForAttributeNum(OKVAttrNo attrno);

パラメータ

パラメータ IN/OUT 説明
attrno

IN

KMIP属性のOracle Key Vault属性番号。

戻り値

戻り値 説明
oratext*

KMIP属性の名前。

成功: KMIP属性の名前への有効なポインタ。

失敗: NULLポインタが返されます。

コメント

なし。

printf("%s", okvGetTextForAttributeNum(OKVAttrActivationDate));

15.5 okvGetTextForTag

okvGetTextForTagは、有効なKMIPタグの名前を返します。

カテゴリ

KMIPユーティリティAPI

用途

okvGetTextForTagは、有効なKMIPタグの名前を返します。無効なKMIPタグの場合は、NULL値が返されます。

構文

oratext *okvGetTextForTag(OKVTag tag); 

パラメータ

パラメータ IN/OUT 説明
tag IN KMIPタグ

戻り値

戻り値 説明
oratext*

KMIPタグ名。

成功: KMIPタグ名への有効なポインタが返されます。

失敗: NULLポインタが返されます。

コメント

なし。

printf("%s", okvGetTextForTag(OKVDEF_TAG_ID));

15.6 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列挙タグ値の名前への有効なポインタが返されます。

失敗: NULLポインタが返されます。

コメント

KMIPタグが無効な場合やKMIPタグの値が無効な場合、またはKMIPタグがENUMERATION型でない場合は、NULL値が返されます。

printf("%s", okvGetTextForTagEnum(OKVDEF_TAG_STATE, OKVDEF_STATE_ACTIVE));

15.7 okvGetTextForTagType

okvGetTextForTagTypeは、有効なKMIP型の名前を返します。

カテゴリ

KMIPユーティリティAPI

用途

okvGetTextForTagTypeは、有効なKMIP型の名前を返します。無効なKMIP型の場合は、NULL値が返されます。

構文

oratext *okvGetTextForTagType(OKVType typ); 

パラメータ

パラメータ IN/OUT 説明
typ IN KMIP型

戻り値

戻り値 説明
oratext*

KMIP型名。

成功: KMIP型名への有効なポインタが返されます。

失敗: NULLポインタが返されます。

コメント

なし。

printf("%s", okvGetTextForTagType(OKVDEF_ITEM_TYPE_INT));

15.8 okvGetTextLenForAttributeNum

okvGetTextLenForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名の長さを返します。

カテゴリ

KMIPユーティリティAPI

用途

okvGetTextLenForAttributeNumは、特定のOracle Key Vault属性番号に対応する属性名の長さを返します。

構文

ub4 okvGetTextLenForAttributeNum(OKVAttrNo attrno);

パラメータ

パラメータ IN/OUT 説明
attrno

IN

KMIP属性のOracle Key Vault属性番号。

戻り値

戻り値 説明
ub4

属性名の長さ。

成功: バッファの長さが戻されます。

失敗: 0

コメント

なし。

printf("%d", okvGetTextLenForAttributeNum(OKVAttrActivationDate));

15.9 okvObjGetAttrNo

okvObjGetAttrNoは、特定のTTLVオブジェクトに対応するOracle Key Vault属性番号を返します。

カテゴリ

KMIPユーティリティAPI

用途

okvObjGetAttrNoは、特定のTTLVオブジェクトに対応するOracle Key Vault属性番号を返します。

構文

OKVAttrNo okvObjGetAttrNo(OKVEnv *env, OKVTTLV *ttlv);

パラメータ

パラメータ IN/OUT 説明
env

IN

Oracle Key Vault環境ハンドル。

ttlv IN OKVTTLVオブジェクト。

戻り値

戻り値 説明
OKVAttrNo

TTLVオブジェクトのOracle Key Vault属性番号。

成功: 特定のTTLVオブジェクトに対応するOracle Key Vault属性番号が返されます。

失敗: OKVAttrInvalidが返されます。

コメント

なし。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
...
switch (okvObjGetAttrNo(env, ttlv))
{
   ...
   case OKVAttrObjType:
      ...
   case OKVAttrCryptoAlg:
      ...
   case OKVAttrCryptoLen:
      ...
   case OKVAttrCryptoUsageMask:
      ...
}