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構造体に変換します。 - 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 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.5 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.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列挙タグ値の名前への有効なポインタが返されます。 失敗: |
コメント
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型名への有効なポインタが返されます。 失敗: |
コメント
なし。
例
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 |
|
KMIP属性のOracle Key Vault属性番号。 |
戻り値
| 戻り値 | 説明 |
|---|---|
ub4 |
属性名の長さ。 成功: バッファの長さが戻されます。 失敗: |
コメント
なし。
例
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 |
|
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:
...
}