11 Oracle Key VaultクライアントSDKのKMIP属性およびカスタム属性API

この項では、KMIP属性およびKMIPカスタム属性の両方の作成と解釈に利用できるインタフェースについて説明します。

11.1 Oracle Key Vault KMIP属性API

Oracle Key Vaultには、KMIP属性を管理するための一連のAPIが用意されています。

11.1.1 Oracle Key Vault KMIP属性APIについて

この項では、Oracle Key Vault KMIP属性の作成と解釈に利用できるインタフェースについて説明します。

この項の関数では、引数のenvttlvが伴われるすべての関数に次の意味があります。

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
この項の関数のうちTTLVオブジェクト(OKVTTLV *)を返す関数の場合、戻り値は次のように解釈されます。
  • 成功の場合は、属性の有効なTTLVオブジェクトが返されます。
  • 失敗の場合は、NULLポインタが返されます。
この項の関数のうち取得したオブジェクトの長さを返す関数の場合、戻り値は次のように解釈されます。
  • 成功の場合は、バッファの長さが返されます。
  • 失敗の場合は、ゼロ(0)が返されます。
この項の関数のうちOracle Key Vaultエラー番号を返す関数の場合、戻り値は次のように解釈されます。
  • 成功の場合は、OKV_SUCCESSが返されます。
  • 失敗の場合は、エラー・スタックの最上部にあるエラーの有効なエラー番号が返されます。
この項で定義するOracle Key Vault関数は、OKVTTLVオブジェクトに対して特定のKMIPデータ型の属性を追加および取得します。一般に、こうした関数の構成は次のとおりです。
  • okvAttrAddAttr: OKVTTLV親オブジェクトに属性を追加します。
  • okvAttrGetAttrLen: 固定長でないKMIP属性について、OKVTTLV親オブジェクト内の属性の値の長さを取得します。
  • okvAttrGetAttrElementLen: 子の値が可変長のSTRUCTURE属性について、OKVTTLV親オブジェクト内の属性の要素の値の長さを取得します。たとえば、name属性の名前値が該当します。
  • okvAttrGetAttr: OKVTTLV親オブジェクト内の属性を取得します。

11.1.2 属性索引と要素索引

要素索引は、親TTLVオブジェクトから子TTLVオブジェクトを取得するために使用できます。また、属性索引はKMIP属性のプロパティです。

OKVTTLV親オブジェクトは、複数の子OKVTTLVオブジェクトを保持できます。通常、子オブジェクトには異なるKMIPタグが付けられています。マルチインスタンス属性のように繰返し可能な一部の子オブジェクトは、いくつかの子オブジェクトに同じタグが付けられていることがあります。

OKVTTLVオブジェクトの直接の子オブジェクトは、索引付きリストとみなすことができます。この子OKVTTLVオブジェクトは、索引を指定することで親オブジェクトから1つずつ取得できます。この索引が、子TTLVオブジェクトの要素索引です。

okvTTLVGetChildは、要素索引を指定して子を取得する場合に使用します。

ただし、ほとんどの場合は既知の子を検索することになります。通常、子はタグで識別します。ただし、その子TTLVオブジェクトの索引は不明です。

okvTTLVGetChildByTagは、特定のタグが付けられた子を参照するために使用します。

一般に、このAPIを使用するときには、特定の索引で子が見つかると推測します。このAPIは、その索引以降で最初に出現する子を探して、子が見つかった実際の索引を返します。

通常、特定のタグが付いた最初の子を取得するには、索引0から開始するようにします。返される要素索引は、子が見つかった場所を指定します。

その要素索引を1だけ増分し、okvTTLVGetChildByTagを再度コールすると、同じタグが付いた2番目の子を取得できます。

特定のタグ付いた最初の子は、okvTTLVGetFirstChildByTagを使用して取得することもできます。

この動作は、引数として要素索引を受け取るOracle Key Vault関数に当てはまります。

たとえば、次に示す「OKVTTLV親オブジェクト」表を使用したときに、elem_indexを1に設定してokvTTLVGetChildByTag("Name", &elem_index)をコールすると、Ref# Cのオブジェクトが返され、elem_indexが2に設定されます。さらに、elem_indexを4に設定してokvTTLVGetChildByTag("Object Group", &elem_index)をコールすると、Ref# Eのオブジェクトが返され、elem_indexが4に設定されます。

表11-1 OKVTTLV親オブジェクト

Ref # 属性オブジェクト 要素索引 属性索引

A

Name

0

1

B

Object Group

1

1

C

Name

2

3

D

Name

3

2

E

Object Group

4

2

属性索引はKMIP属性のプロパティです。Oracle Key Vaultは、リクエストされたときにエンドポイント・プログラムに属性索引を返します。また、エンドポイント・プログラムは、属性の変更時または追加時に属性索引を追加できます。Oracle Key Vaultは、属性索引に対して特別な処理を実施しません。また、その索引を参照操作に使用することもありません。

11.1.3 okvAddAttributeObject

okvAddAttributeObjectでは、親TTLVオブジェクトに属性オブジェクトを追加します。

カテゴリ

KMIP属性API

用途

okvAddAttributeObjectでは、親TTLVオブジェクトに属性オブジェクトを追加します。実際の属性値は、この項で定義する関数を使用して追加できます。

構文

OKVTTLV* okvAddAttributeObject(OKVEnv *env, OKVTTLV *ttlv,
                               OKVAttrNo attrno, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
attrno IN

追加する属性の属性番号。

attr_index IN

属性の属性索引。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 引数attrnoで示される属性オブジェクトTTLVが追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

このAPIは、親TTLVオブジェクトに属性TTLVを追加するために使用できます。次の例は、親TTLVオブジェクトに連絡先情報属性を追加する方法を示しています。

oratext *contact = (oratext *)"sample contact info";
ub4      contactl = strlen((char *) contact);
OKVTTLV *resultttlv;

resultttlv = okvAddAttributeObject(env, ttlv, OKVAttrContactInfo, (ub4) 0);
okvAttrAddContactInfo(env, resultttlv, contact, contactl);

関連項目

11.1.4 okvAttrAddActivationDate

okvAttrAddActivationDateでは、OKVTTLV親オブジェクトにアクティブ化日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddActivationDateでは、OKVTTLV親オブジェクトにアクティブ化日属性を追加します。

構文

OKVTTLV *okvAttrAddActivationDate(OKVEnv *env, OKVTTLV *ttlv,
                                  ub8 activation_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
activation_date IN アクティブ化日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: アクティブ化日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
...
okvAttrAddActivationDate(env, attr_in, (ub8) current_time + 10000);

11.1.5 okvAttrAddCompromiseDate

okvAttrAddCompromiseDateでは、OKVTTLV親オブジェクトに危殆化日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCompromiseDateでは、OKVTTLV親オブジェクトに危殆化日属性を追加します。

構文

OKVTTLV *okvAttrAddCompromiseDate(OKVEnv *env, OKVTTLV *ttlv,
                                  ub8 comp_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
comp_date IN 危殆化日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 危殆化日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
OKVTTLV *resultttlv;
resultttlv = okvAttrAddCompromiseDate(env, ttlv, (ub8) current_time + 24*3600);

11.1.6 okvAttrAddCompromiseOccurrenceDate

okvAttrAddCompromiseOccurrenceDateでは、OKVTTLV親オブジェクトに危殆化発生日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCompromiseOccurrenceDateでは、OKVTTLV親オブジェクトに危殆化発生日属性を追加します。

構文

OKVTTLV *okvAttrAddCompromiseOccurrenceDate(OKVEnv *env, OKVTTLV *ttlv,
                                           ub8 comp_occr_date);

パラメータ

パラメータ IN/OUT 説明
env

IN

Oracle Key Vault環境ハンドルへのポインタ。

ttlv IN

親OKVTTLVオブジェクトへのポインタ。

comp_occr_date IN

危殆化発生日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 危殆化発生日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

ub8 comp_date;
ctime(&comp_date);
resulttlv = okvAttrAddCompromiseOccurrenceDate(env, ttlv, comp_date);

11.1.7 okvAttrAddContactInfo

okvAttrAddContactInfoでは、OKVTTLV親オブジェクトに連絡先情報属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddContactInfoでは、OKVTTLV親オブジェクトに連絡先情報属性を追加します。

構文

OKVTTLV *okvAttrAddContactInfo(OKVEnv *env, OKVTTLV *ttlv,
                               oratext *contact_info, ub4 contact_infol);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
contact_info IN 連絡先情報。
contact_infol IN 連絡先情報の長さ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 連絡先情報属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resulttlv;
oratext *new_contact = (oratext *)"abc.xyz@com";
ub4 new_contactl = strlen((char *) new_contact);
resulttlv = okvAttrAddContactInfo(env, attr_in, new_contact, new_contactl);

11.1.8 okvAttrAddCryptoAlgo

okvAttrAddCryptoAlgoでは、OKVTTLV親オブジェクトに暗号アルゴリズム属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCryptoAlgoでは、OKVTTLV親オブジェクトに暗号アルゴリズム属性を追加します。

構文

OKVTTLV *okvAttrAddCryptoAlgo(OKVEnv *env, OKVTTLV *ttlv,
                              ub4 crypto_alg);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
crypto_alg IN 暗号化アルゴリズム。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 暗号化アルゴリズム属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

attr = okvAddAttributeObject(env, templ, OKVAttrCryptoAlg, 0);
okvAttrAddCryptoAlgo(env, attr, (ub4)CRYPTO_ALG_AES);

11.1.9 okvAttrAddCryptoLen

okvAttrAddCryptoLenでは、OKVTTLV親オブジェクトに暗号化長属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCryptoLenでは、OKVTTLV親オブジェクトに暗号化長属性を追加します。

構文

OKVTTLV *okvAttrAddCryptoLen(OKVEnv *env, OKVTTLV *ttlv,
                             ub4 crypto_len);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
crypto_len IN 暗号化長。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 暗号化長属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

attr = okvAddAttributeObject(env, templ, OKVAttrCryptoLen, 0);
okvAttrAddCryptoLen(env, attr, (ub4)128);

11.1.10 okvAttrAddCryptoParams

okvAttrAddCryptoParamsでは、OKVTTLV親オブジェクトに暗号化パラメータを追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCryptoParamsでは、OKVTTLV親オブジェクトに暗号化パラメータを追加します。

構文

OKVTTLV *okvAttrAddCryptoParams(OKVEnv *env, OKVTTLV *ttlv,
                                ub4 block_cipher_mode, ub4 padding_method,
                                ub4 hashing_algorithm, ub4 key_role_type);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親TTLVへのポインタ。
block_cipher_mode IN ブロック暗号モード。
padding_method IN パディング方式。
hashing_algorithm IN ハッシュ・アルゴリズム。
key_role_type IN キー・ロールのタイプ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 暗号化パラメータが追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

okvAttrAddCryptoParams(env, ttlv, BLK_CIPHER_ECB, PADDING_SSL3,
                       HASH_ALG_MD4, KEY_ROLE_CVK);

11.1.11 okvAttrAddCryptoUsageMask

okvAttrAddCryptoUsageMaskでは、OKVTTLV親オブジェクトに暗号化使用方法マスク属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddCryptoUsageMaskでは、OKVTTLV親オブジェクトに暗号化使用方法マスク属性を追加します。

構文

OKVTTLV *okvAttrAddCryptoUsageMask(OKVEnv *env, OKVTTLV *ttlv,
                                   ub4 mask);
パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
mask IN 暗号化使用方法マスク。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 暗号化使用方法マスク属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resultttlv;
resultttlv = okvAttrAddCryptoUsageMask(env, ttlv, (ub4)12);

11.1.12 okvAttrAddDeactivationDate

okvAttrAddDeactivationDateでは、OKVTTLV親オブジェクトに非アクティブ化日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddDeactivationDateでは、OKVTTLV親オブジェクトに非アクティブ化日属性を追加します。

構文

OKVTTLV *okvAttrAddDeactivationDate(OKVEnv *env, OKVTTLV *ttlv,
                                    ub8 deactivation_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
deactivation_date IN 非アクティブ化日

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 非アクティブ化日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
...
okvAttrAddDeactivationDate(env, ttlv, (ub8) current_date + 1800);

11.1.13 okvAttrAddDestroyDate

okvAttrAddDestroyDateでは、OKVTTLV親オブジェクトに破棄日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddDestroyDateでは、OKVTTLV親オブジェクトに破棄日属性を追加します。

構文

OKVTTLV *okvAttrAddDestroyDate(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 destroy_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
destroy_date IN 破棄日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 破棄日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
...
okvAttrAddDestroyDate(env, attr_in, (ub8) current_time + 24*3*3600);

関連項目

11.1.14 okvAttrAddDigest

okvAttrAddDigestでは、OKVTTLVオブジェクトにダイジェスト属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddDigestでは、OKVTTLVオブジェクトにダイジェスト属性を追加します。

構文

OKVTTLV *okvAttrAddDigest(OKVEnv *env, OKVTTLV *ttlv,
                          ub4 hash_algo, ub4 key_format_type,
                          oratext *digest, ub4 digestl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
hash_algo IN ハッシュ・アルゴリズム。
key_format_type IN キー形式のタイプ。
digest IN ダイジェスト値。
digestl IN ダイジェスト値の長さ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: ダイジェスト属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

oratext digest[] = "Sample_Digest";
okvAddAttributeObject(env, ttlv, OKVAttrDigest, 1);
resulttlv = okvAttrAddDigest(env, ttlv, HASH_ALG_SHA_1, OKVDEF_KEY_FMT_OPAQUE,
                             &digest[0], sizeof(digest))

11.1.15 okvAttrAddFresh

okvAttrAddFreshでは、OKVTTLV親オブジェクトにフレッシュ属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddFreshでは、OKVTTLV親オブジェクトにフレッシュ属性を追加します。

構文

OKVTTLV *okvAttrAddFresh(OKVEnv *env, OKVTTLV *ttlv, ub8 fresh);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
fresh IN フレッシュ属性。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: フレッシュ属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

フレッシュ属性には、falseの0またはtrueの1の値を使用できます。

OKVTTLV *resulttlv;
resulttlv = okvAttrAddFresh(env, attr_in, (ub8) 1);

関連項目

11.1.16 okvAttrAddLeaseTime

okvAttrAddLeaseTimeでは、OKVTTLV親オブジェクトにリース期間属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddLeaseTimeでは、OKVTTLV親オブジェクトにリース期間属性を追加します。

構文

OKVTTLV *okvAttrAddLeaseTime(OKVEnv *env, OKVTTLV *ttlv,
                             ub4 lease_time);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
lease_time IN リース期間。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: リース期間属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resulttlv;
resulttlv = okvAttrAddLeaseTime(env, ttlv, (ub4)100);

関連項目

11.1.17 okvAttrAddName

okvAttrAddNameでは、OKVTTLV親オブジェクトに名前属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddNameでは、OKVTTLV親オブジェクトに名前属性を追加します。

構文

OKVTTLV *okvAttrAddName(OKVEnv *env, OKVTTLV *ttlv,
                        oratext *name, ub4 namel, ub4 typ);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
name IN

名前属性の名前値。

name1 IN

名前属性の名前値の長さ。

typ IN

名前属性のタイプ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 名前属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

oratext[] name_value = "sample name";
ub4 name_valuel = strlen((const char *)name_value);
okvAttrAddName(env, attr_in, (oratext *) name_value, name_valuel, 1);

11.1.18 okvAttrAddObjectGroup

okvAttrAddObjectGroupでは、OKVTTLV親オブジェクトにオブジェクト・グループ属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddObjectGroupでは、OKVTTLV親オブジェクトにオブジェクト・グループ属性を追加します。

構文

OKVTTLV *okvAttrAddObjectGroup(OKVEnv *env, OKVTTLV *ttlv,
                               oratext *object_group,
                               ub4 object_groupl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
object_group IN オブジェクト・グループ属性のオブジェクト・グループ。
object_groupl IN オブジェクト・グループ属性のオブジェクト・グループの長さ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: オブジェクト・グループ属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resulttlv;
oratext obj_grp[] = "Object_Group";
resulttlv = okvAttrAddObjectGroup(env, ttlv, &obj_grp[0], sizeof(obj_grp));

11.1.19 okvAttrAddObjectType

okvAttrAddObjectTypeでは、OKVTTLV親オブジェクトにオブジェクト・タイプ属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddObjectTypeでは、OKVTTLV親オブジェクトにオブジェクト・タイプ属性を追加します。

構文

 OKVTTLV *okvAttrAddObjectType(OKVEnv *env, OKVTTLV *ttlv,
                               OKVObjNo typ);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
typ IN オブジェクト・タイプ属性のタイプ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: オブジェクト・タイプ属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

okvAttrAddObjectType(env, req, OKVObjSymmetric);

関連項目

11.1.20 okvAttrAddProcessStartDate

okvAttrAddProcessStartDateでは、OKVTTLV親オブジェクトにプロセス開始日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddProcessStartDateでは、OKVTTLV親オブジェクトにプロセス開始日属性を追加します。

構文

OKVTTLV *okvAttrAddProcessStartDate(OKVEnv *env, OKVTTLV *ttlv,
                                    ub8 process_start_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
process_start_date IN プロセス開始日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: プロセス開始日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
...
okvAttrAddProcessStartDate(env, attr_temp, (ub8) current_time + 1000);

11.1.21 okvAttrAddProtectStopDate

okvAttrAddProtectStopDateでは、OKVTTLV親オブジェクトに保護停止日属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddProtectStopDateでは、OKVTTLV親オブジェクトに保護停止日属性を追加します。

構文

OKVTTLV *okvAttrAddProtectStopDate(OKVEnv *env, OKVTTLV *ttlv,
                                   ub8 protect_stop_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
protect_stop_date IN 保護停止日。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 保護停止日属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

time_t   current_time = time((time_t *)NULL);
...
okvAttrAddProtectStopDate(env, attr_in, (ub8) current_time + 24*3600);

11.1.22 okvAttrAddRevocationReason

okvAttrAddRevocationReasonでは、OKVTTLV親オブジェクトに失効理由属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddRevocationReasonでは、OKVTTLV親オブジェクトに失効理由属性を追加します。

構文

OKVTTLV *okvAttrAddRevocationReason(OKVEnv *env, OKVTTLV *ttlv,
                                    ub4 code, oratext *msg, ub4 msgl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
code IN 失効コード。
msg IN 失効メッセージ。
msgl IN 失効メッセージの長さ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 失効属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

oratext msg[] = "Object_Compromised";
OKVTTLV *resulttlv;
resulttlv = okvAttrAddRevocationReason(env, ttlv, OKVDEF_REV_CODE_KEY_COMP, &msg[0], sizeof(msg));

11.1.23 okvAttrAddUniqueID

okvAttrAddUniqueIDでは、OKVTTLV親オブジェクトに一意識別子属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddUniqueIDでは、OKVTTLV親オブジェクトに一意識別子属性を追加します。

構文

OKVTTLV *okvAttrAddUniqueID(OKVEnv *env, OKVTTLV *ttlv,
                            oratext *uid, ub4 uidl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
uid IN 一意識別子。
uid1 IN 一意識別子の長さ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 一意識別子属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resultttlv;
oratext uidval[] = "12345678901234567890"; 
resultttlv = okvAttrAddUniqueID(env, ttlv, &uidval[0], strlen(uidval));

11.1.24 okvAttrAddUsageLimits

okvAttrAddUsageLimitsでは、OKVTTLV親オブジェクトに使用制限属性を追加します。

カテゴリ

KMIP属性API

用途

okvAttrAddUsageLimitsでは、OKVTTLV親オブジェクトに使用制限属性を追加します。

構文

OKVTTLV *okvAttrAddUsageLimits(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 total, ub8 count, ub4 unit);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
total IN 使用制限の合計。
count IN 使用制限数。
unit IN 使用制限タイプ。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 使用制限属性値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULLポインタ。

コメント

なし。

OKVTTLV *resulttlv;
resulttlv = okvAttrAddUsageLimits(env, ttlv, (ub8) 256, (ub8) 256, (ub4) 1);

関連項目

11.1.25 okvAttrGetActivationDate

okvAttrGetActivationDateでは、アクティブ化日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetActivationDateでは、OKVTTLVオブジェクトからアクティブ化日属性を取得します。

構文

OKVErrNo okvAttrGetActivationDate(OKVEnv *env, OKVTTLV *ttlv,
                                  ub8 *activation_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
activation_date OUT アクティブ化日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 act_date;
okvAttrGetActivationDate(env, ttlv, &act_date);

11.1.26 okvAttrGetArchiveDate

okvAttrGetArchiveDateでは、アーカイブ日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetArchiveDateでは、OKVTTLVオブジェクトからアーカイブ日属性を取得します。

構文

OKVErrNo okvAttrGetArchiveDate(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 *archive_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
archive_date OUT アーカイブ日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 archive_date;
okvAttrGetArchiveDate(env, ttlv, &archive_date);

11.1.27 okvAttrGetCompromiseDate

okvAttrGetCompromiseDateでは、危殆化日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCompromiseDateでは、OKVTTLVオブジェクトから危殆化日属性を取得します。

構文

OKVErrNo okvAttrGetCompromiseDate(OKVEnv *env, OKVTTLV *ttlv,
                                  ub8 *comp_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
comp_date OUT 危殆化日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 comp_date; 
okvAttrGetCompromiseDate(env, ttlv, &comp_date);

11.1.28 okvAttrGetCompromiseOccurrenceDate

okvAttrGetCompromiseOccurrenceDateでは、危殆化発生日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCompromiseOccurrenceDateでは、OKVTTLVオブジェクトから危殆化発生日属性を取得します。

構文

OKVErrNo okvAttrGetCompromiseOccurrenceDate(OKVEnv *env, OKVTTLV *ttlv,
                                            ub8 *comp_occr_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
comp_occr_date OUT 危殆化発生日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 comp_occ_date;
OKVTTLV *resultttlv;
resultttlv = okvAttrGetCompromiseOccurrenceDate(env, ttlv, &comp_occ_date);

11.1.29 okvAttrGetContactInfo

okvAttrGetContactInfoでは、連絡先情報属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetContactInfoでは、OKVTTLVオブジェクトから連絡先情報属性を取得します。

構文

OKVErrNo okvAttrGetContactInfo(OKVEnv *env, OKVTTLV *ttlv,
                               oratext *contact_info, ub4 *contact_infol);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN 親OKVTTLVオブジェクトへのポインタ
contact_info OUT 連絡先情報
contact_infol OUT 連絡先情報の長さ

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

引数contact_info用のメモリーは、okvAttrGetContactInfo関数コールの実行前に割り当てておく必要があります。このサイズは、okvAttrGetContactInfoLenを使用すると調べられます。

ub4 contactl;
contactl = okvAttrGetContactInfoLen(env, ttlv);
contact  = calloc(contactl, sizeof(oratext));
okvAttrGetContactInfo(env, ttlv, contact, &contactl);

11.1.30 okvAttrGetContactInfoLen

okvAttrGetContactInfoLenでは、連絡先情報属性の連絡先情報の長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetContactInfoLenでは、連絡先情報属性の長さを取得します。

構文

ub4 okvAttrGetContactInfoLen(OKVEnv *env, OKVTTLV *ttlv));

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN 親OKVTTLVオブジェクトへのポインタ

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: 連絡先情報属性値の長さ。

失敗: 0。

コメント

なし。

ub4 cinfol;
cinfol = okvAttrGetContactInfoLen(env, ttlv);

11.1.31 okvAttrGetCryptoAlgo

okvAttrGetCryptoAlgoでは、暗号化アルゴリズム属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCryptoAlgoでは、親OKVTTLVオブジェクトから暗号化アルゴリズム属性を取得します。

構文

OKVErrNo okvAttrGetCryptoAlgo(OKVEnv *env, OKVTTLV *ttlv,
                              ub4 *crypto_alg);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
crypto_alg OUT 暗号化アルゴリズム。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4    alg = 0;
okvAttrGetCryptoAlgo(env, ttlv, &alg);

11.1.32 okvAttrGetCryptoLen

okvAttrGetCryptoLenでは、暗号化長属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCryptoLenでは、OKVTTLVオブジェクトから暗号化長属性を取得します。

構文

OKVErrNo okvAttrGetCryptoLen(OKVEnv *env, OKVTTLV *ttlv,
                             ub4 *crypto_len);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN OKVTTLVオブジェクトへのポインタ
crypto_len OUT 暗号化長

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 len = 0; 
okvAttrGetCryptoLen(env, ttlv, &len);

11.1.33 okvAttrGetCryptoParams

okvAttrGetCryptoParamsでは、要素索引elem_index以降にある暗号化パラメータ属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCryptoParamsでは、親TTLVで要素索引elem_index以降にある暗号化パラメータ属性を取得します。

構文

OKVErrNo okvAttrGetCryptoParams(OKVEnv *env, OKVTTLV *ttlv,
                                ub4 *elem_index,
                                ub4 *block_cipher_mode, ub4 *padding_method,
                                ub4 *hashing_algorithm, ub4 *key_role_type);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親TTLVオブジェクトへのポインタ。
elem_index IN/OUT 要素索引。
block_cipher_mode OUT ブロック暗号モード。
padding_method OUT パディング方式。
hashing_algorithm OUT ハッシュ・アルゴリズム。
key_role_type OUT キー・ロールのタイプ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4  bcm, pm, ha, krt, ind;
okvAttrGetCryptoParams(env, ttlv, &ind, &bcm, &pm, &ha, &krt);

11.1.34 okvAttrGetCryptoUsageMask

okvAttrGetCryptoUsageMaskでは、暗号化使用方法マスク属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetCryptoUsageMaskでは、OKVTTLVオブジェクトから暗号化使用方法マスク属性を取得します。

構文

OKVErrNo okvAttrGetCryptoUsageMask(OKVEnv *env, OKVTTLV *ttlv,
                                   ub4 *mask);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN 親OKVTTLVオブジェクトへのポインタ
mask OUT 暗号化使用方法マスク

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 mask = 0;
okvAttrGetCryptoUsageMask(env, ttlv, &mask);

11.1.35 okvAttrGetDeactivationDate

okvAttrGetDeactivationDateでは、非アクティブ化日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetDeactivationDateでは、OKVTTLVオブジェクトから非アクティブ化日属性を取得します。

構文

OKVErrNo okvAttrGetDeactivationDate(OKVEnv *env, OKVTTLV *ttlv,
                                    ub8 *deactivation_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN OKVTTLVオブジェクトへのポインタ
deactivation_date OUT 非アクティブ化日

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 deact_date;
okvAttrGetDeactivationDate(env, ttlv, &deact_date);

11.1.36 okvAttrGetDestroyDate

okvAttrGetDestroyDateでは、破棄日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetDestroyDateでは、OKVTTLVオブジェクトから破棄日属性を取得します。

構文

OKVErrNo okvAttrGetDestroyDate(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 *destroy_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN OKVTTLVオブジェクトへのポインタ
destroy_date OUT 破棄日

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 destroy_date;
okvAttrGetDestroyDate(env, ttlv, &destroy_date);

11.1.37 okvAttrGetDigest

okvAttrGetDigestでは、要素索引elem_index以降にあるダイジェスト属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetDigestでは、OKVTTLVオブジェクトのダイジェスト・パラメータを取得します。

構文

OKVErrNo okvAttrGetDigest(OKVEnv *env, OKVTTLV *ttlv,
                          ub4 *elem_index,
                          ub4 *hash_algo, ub4 *key_format_type,
                          oratext *digest, ub4 *digestl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_DIGESTタグが付いた子を探して、子が見つかった実際の索引を返します。
hash_algo OUT ハッシュ・アルゴリズム。
key_format_type OUT キー形式のタイプ。
digest OUT ダイジェスト値。
digestl IN/OUT ダイジェスト値の長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

ダイジェスト値を格納するメモリーは、このAPIのコール前に割り当てておく必要があります。okvAttrGetDigestLenは、ダイジェストの長さを取得するために使用できます。

ub4 ei = 0, digestl = 0, hash_algo, key_format_type;
digestl = okvAttrGetDigestLen(env, ttlv, &ei);
oratext * digest = (oratext *) calloc(digestl ,sizeof(oratext) );
okvAttrGetDigest(env, ttlv, &ei, &hash_algo, &key_format_type,
                 &digest[0], &digestl);

11.1.38 okvAttrGetDigestLen

okvAttrGetDigestLenでは、要素索引elem_index以降にあるダイジェスト属性のダイジェスト値の長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetDigestLenでは、OKVTTLVオブジェクトからダイジェスト属性の長さを取得します。

構文

ub4 okvAttrGetDigestLen(OKVEnv *env, OKVTTLV *ttlv,
                        ub4 *elem_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_DIGESTタグが付いた子を探して、子が見つかった実際の索引を返します。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: ダイジェスト属性の長さ。

失敗: 0。

コメント

なし。

ub4 ei = 0;
ub4 digestl;
digestl = okvAttrGetDigestLen(env, ttlv, &ei)

11.1.39 okvAttrGetFresh

okvAttrGetFreshでは、フレッシュ属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetFreshでは、OKVTTLVオブジェクトからフレッシュ属性を取得します。

構文

OKVErrNo okvAttrGetFresh(OKVEnv *env, OKVTTLV *ttlv, ub8 *fresh); 

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ
ttlv IN 親OKVTTLVオブジェクトへのポインタ
fresh OUT フレッシュ属性

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 fresh_val;
okvAttrGetFresh(env, attr, &fresh_val);

関連項目

11.1.40 okvAttrGetInitialDate

okvAttrGetInitialDateでは、開始日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetInitialDateでは、OKVTTLVオブジェクトから開始日属性を取得します。

構文

OKVErrNo okvAttrGetInitialDate(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 *initial_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
initial_date OUT 開始日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 ini_date;
okvAttrGetInitialDate(env, ttlv, &ini_date);

11.1.41 okvAttrGetLastChangeDate

okvAttrGetLastChangeDateでは、最終変更日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetLastChangeDateでは、OKVTTLVオブジェクトから最終変更日属性を取得します。

構文

OKVErrNo okvAttrGetLastChangeDate(OKVEnv *env, OKVTTLV *ttlv,
                                  ub8 *last_change_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
last_change_date OUT 最終変更日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 last_change_date;
okvAttrGetLastChangeDate(env, ttlv, &last_change_date);

11.1.42 okvAttrGetLeaseTime

okvAttrGetLeaseTimeでは、リース期間属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetLeaseTimeでは、OKVTTLVオブジェクトからリース期間属性を取得します。

構文

OKVErrNo okvAttrGetLeaseTime(OKVEnv *env, OKVTTLV *ttlv,
                             ub4 *lease_time);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
lease_time OUT リース期間。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 lease_time;
okvAttrGetLeaseTime(env, ttlv, &lease_time);

11.1.43 okvAttrGetName

okvAttrGetNameでは、要素索引elem_index以降にある名前属性の名前値、属性索引および名前タイプを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetNameでは、OKVTTLVオブジェクトから名前属性の名前値、名前の長さおよび名前タイプを取得します。

構文

OKVErrNo okvAttrGetName(OKVEnv *env, OKVTTLV *ttlv,
                        ub4 *elem_index,
                        oratext *name, ub4 namel, ub4 *typ)

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親TTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_NAME_STタグが付いた子を探して、子が見つかった実際の索引を返します。
name OUT 名前属性の名前値。
name1 IN/OUT 名前属性の名前値の長さ。
typ OUT 名前属性のタイプ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

名前値を格納するメモリーは、関数コールの前に割り当てておく必要があります。

ub4 ei = 0;
ub4 nametyp;
namel = okvAttrGetNameValueLen(env, ttlv, &ei);
oratext * name = (oratext *) calloc(namel, sizeof(oratext));
okvAttrGetName(env, ttlv, &ei, name, namel, &nametyp);

11.1.44 okvAttrGetNameValueLen

okvAttrGetNameValueLenでは、要素索引elem_index以降にある名前属性の名前値の長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetNameValueLenでは、OKVTTLVオブジェクトから名前属性の長さを取得します。

構文

ub4 okvAttrGetNameValueLen(OKVEnv *env, OKVTTLV *ttlv,
                           ub4 *elem_index;

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 名前の長さを検索するためのOKVTTLVバッファへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_NAME_STタグが付いた子を探して、子が見つかった実際の索引を返します。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: 名前属性の長さ。

失敗: 0。

コメント

なし。

ei = 0;
namel = okvAttrGetNameValueLen(env, ttlv, &ei);

11.1.45 okvAttrGetObjectGroup

okvAttrGetObjectGroupでは、要素索引elem_index以降にあるオブジェクト・グループ属性のオブジェクト・グループを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetObjectGroupでは、OKVTTLVオブジェクトからオブジェクト・グループ属性を取得します。

構文

OKVErrNo okvAttrGetObjectGroup(OKVEnv *env, OKVTTLV *ttlv,
                               ub4 *elem_index,
                               oratext *object_group, ub4 *object_groupl);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_OBJ_GROUPタグが付いた子を探して、子が見つかった実際の索引を返します。
object_group OUT オブジェクト・グループ属性のオブジェクト・グループ。
object_groupl IN/OUT オブジェクト・グループ属性のオブジェクト・グループの長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

関数コールの実行前に、object_group用のメモリーを割り当てておく必要があります。okvAttrGetObjectGroupLenを使用すると、割り当てるメモリーのサイズがわかります。

ub4 index = 0, obj_grpl;
obj_grpl = okvAttrGetObjectGroupLen(env, ttlv, &index);
oratext *obj_group = (oratext *)calloc(obj_grpl, sizeof(oratext);
okvAttrGetObjectGroup(env, ttlv, &index, &obj_group, &obj_grpl);

11.1.46 okvAttrGetObjectGroupLen

okvAttrGetObjectGroupLenでは、要素索引elem_index以降にあるオブジェクト・グループの長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetObjectGroupLenでは、OKVTTLVオブジェクトからオブジェクト・グループの長さを取得します。

構文

ub4 okvAttrGetObjectGroupLen(OKVEnv *env, OKVTTLV *ttlv,
                             ub4 *elem_index);

パラメータ

パラメータ IN/OUT 要素索引
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_OBJ_GROUPタグが付いた子を探して、子が見つかった実際の索引を返します。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: オブジェクト・グループ属性値の長さ。

失敗: 0。

コメント

なし。

ub4 obj_grpl, index = 0;
obj_grpl = okvAttrGetObjectGroupLen(env, ttlv, &index);

11.1.47 okvAttrGetObjectType

okvAttrGetObjectTypeでは、オブジェクト・タイプ属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetObjectTypeでは、OKVTTLVオブジェクトからオブジェクト・タイプ属性を取得します。

構文

OKVErrNo okvAttrGetObjectType(OKVEnv *env, OKVTTLV *ttlv,
                              OKVObjNo *typ)

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
typ OUT オブジェクト・タイプ属性のタイプ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 typ;
okvAttrGetObjectType(env, ttlv, &typ);

関連項目

11.1.48 okvAttrGetProcessStartDate

okvAttrGetProcessStartDateでは、プロセス開始日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetProcessStartDateでは、OKVTTLVオブジェクトからプロセス開始日属性を取得します。

構文

OKVErrNo okvAttrGetProcessStartDate(OKVEnv *env, OKVTTLV *ttlv,
                                    ub8 *process_start_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
process_start_date OUT プロセス開始日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8  pstart_date;
okvAttrGetProcessStartDate(env, ttlv, &pstart_date);

11.1.49 okvAttrGetProtectStopDate

okvAttrGetProtectStopDateでは、保護停止日属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetProtectStopDateでは、OKVTTLVオブジェクトから保護停止日属性を取得します。

構文

OKVErrNo okvAttrGetProtectStopDate(OKVEnv *env, OKVTTLV *ttlv,
                                   ub8 *protect_stop_date);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLV親オブジェクトへのポインタ。
protect_stop_date OUT 保護停止日。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub8 pstop_date;
okvAttrGetProtectStopDate(env, ttlv, &pstop_date);

11.1.50 okvAttrGetRevocationReason

okvAttrGetRevocationReasonでは、失効理由属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetRevocationReasonでは、OKVTTLVオブジェクトから失効理由属性パラメータを取得します。

構文

OKVErrNo okvAttrGetRevocationReason(OKVEnv *env, OKVTTLV *ttlv,
                                    oratext *msg, ub4 *msgl, ub4 *code);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN 親OKVTTLVオブジェクトへのポインタ。
code OUT 失効コード。
msg OUT 失効メッセージ。
msgl IN/OUT 失効メッセージの長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

msg引数用のメモリーは、関数コールの前に割り当てておく必要があります。割り当てるメモリーのサイズは、okvAttrGetRevocationReasonMessageLenを使用することで取得できます。

ub4 code;
msgl = okvAttrGetRevocationReasonMessageLen(env, ttlv);
revoke_reason = calloc(msgl, sizeof(oratext));
okvAttrGetRevocationReason(env, ttlv, revoke_reason, &msgl, &code);

11.1.51 okvAttrGetRevocationReasonMessageLen

okvAttrGetRevocationReasonMessageLenでは、失効理由属性の失効メッセージの長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetRevocationReasonMessageLenでは、OKVTTLVオブジェクトから失効理由属性の失効メッセージの長さを取得します。

構文

ub4 okvAttrGetRevocationReasonMessageLen(OKVEnv *env, OKVTTLV *ttlv);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: 失効メッセージの長さ。

失敗: 0。

コメント

なし。

ub4 msgl;
msgl = okvAttrGetRevocationReasonMessageLen(env, ttlv);

11.1.52 okvAttrGetState

okvAttrGetStateでは、状態属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetStateでは、OKVTTLVオブジェクトから状態属性を取得します。

構文

OKVErrNo okvAttrGetState(OKVEnv *env, OKVTTLV *ttlv, ub4 *state); 

パラメータ

パラメータ IN/OUT 状態
env IN 親OKVTTLVオブジェクトへのポインタ。
ttlv IN OKVTTLV親オブジェクトへのポインタ。
state OUT 状態。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 val_state;
okvAttrGetState(env, attr, &val_state)

11.1.53 okvAttrGetUniqueID

okvAttrGetUniqueIDでは、一意ID属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetUniqueIDでは、OKVTTLVオブジェクトから一意ID属性を取得します。

構文

OKVErrNo okvAttrGetUniqueID(OKVEnv *env, OKVTTLV *ttlv,
                            ub4 *elem_index,
                            oratext *uid, ub4 *uidl)

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN OKVTTLV親オブジェクトへのポインタ。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_IDタグが付いた子を探して、子が見つかった実際の索引を格納します。
uid OUT 一意識別子を格納しているメモリーへのポインタ。
uid1 IN/OUT 一意識別子の長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

UIDを格納するメモリーは、APIのコール前に割り当てておく必要があります。長さをフェッチするには、okvAttrGetUniqueIDLenを実行します。

ub4 index = 0;
ouidl = okvAttrGetUniqueIDLen(env, ttlv, &index);
oratext *ouid = (oratext *) calloc (ouidl,sizeof(oratext));
okvAttrGetUniqueID(env, ttlv, &i, &ouid[0], &ouidl);

11.1.54 okvAttrGetUniqueIDLen

okvAttrGetUniqueIDLenでは、一意識別子属性の長さを取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetUniqueIDLenでは、TTLVの一意識別子の長さを取得します。

構文

ub4 okvAttrGetUniqueIDLen(OKVEnv *env, OKVTTLV *ttlv,
                          ub4 *elem_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN UIDが含まれているTTLV親オブジェクト。
elem_index IN/OUT このAPIは、その索引以降で最初に出現するOKVDEF_TAG_IDタグが付いた子を探して、子が見つかった実際の索引を格納します。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: UIDの長さを示す正の整数。

失敗: 0。

コメント

なし。

ouidl = okvAttrGetUniqueIDLen(env, ttlv, &index);
okvAttrGetUniqueID(env, ttlv, &index, &ouid[0], &ouidl);

11.1.55 okvAttrGetUsageLimits

okvAttrGetUsageLimitsでは、使用制限属性を取得します。

カテゴリ

KMIP属性API

用途

okvAttrGetUsageLimits()では、OKVTTLVオブジェクトから使用制限属性を取得します。

構文

OKVErrNo okvAttrGetUsageLimits(OKVEnv *env, OKVTTLV *ttlv,
                               ub8 *total, ub8 *count, ub4 *unit);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN Oracle TTLV親オブジェクト。
total OUT 使用制限の合計。
count OUT 使用制限数。
unit OUT 使用制限タイプ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

ub4 utype;
ub8 utotal, ucount;
okvAttrGetUsageLimits(env, ttlv, &utotal, &ucount, &utype);

関連項目

11.1.56 okvGetAttributeObject

okvGetAttributeObjectでは、要素索引elem_indexにある親属性から属性、その名前および索引を取得します。

カテゴリ

KMIP属性API

用途

okvGetAttributeObjectでは、要素索引elem_indexにある親属性から属性とその名前および索引を取得します。実際の属性値は、この項で定義する関数のいずれかを使用して取得できます。

構文

OKVErrNo okvGetAttributeObject(OKVEnv *env, OKVTTLV *ttlv,
                           ub4 *elem_index,
                           OKVAttrNo *attrno, ub4 *attr_index, OKVTTLV **attr);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドルへのポインタ。
ttlv IN OKVTTLVオブジェクトへのポインタ。
elem_index IN/OUT このAPIは、elem_indexが指し示す索引にある子の属性番号、属性インデックスおよび属性値を返します。
attrno OUT Oracle Key Vault属性番号。
attr_index OUT 属性索引。
attr OUT 属性値が含まれているTTLVオブジェクト。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

このAPIは、親TTLVを解析して、様々な属性およびそれに対応する値を見つける必要がある場合に役立ちます。次の例は、名前属性について、このAPIを使用してKMIP TTLVを解析する方法を示しています。

ub4 i = 0,  ret_name_attrl, attrno, ret_index_name_attr;
OKVTTLV *name_attr_out;
oratext * ret_name_attr;

while(OKV_ATTR_NOT_FOUND !=
        okvGetAttributeObject(env, attr_out_list, &i,
                              &attrno, &ret_index_name_attr, &name_attr_out))
{
   if(attrno == OKVAttrName)
   {
      ret_name_attrl = okvAttrGetNameValueLen(env, name_attr_out, &i);
      ret_name_attr = calloc(ret_name_attrl, sizeof(oratext));
      okvAttrGetName(env, name_attr_out, &i,
                     ret_name_attr, ret_name_attrl, &typ);
      break;
   }
   else
   {
      i++;
   }
}

関連項目

11.2 Oracle Key Vault KMIPカスタム属性API

この項では、KMIPカスタム属性APIの一覧を示します。

11.2.1 KMIPカスタム属性APIについて

Oracle Key Vault KMIPカスタム属性は、一連の厳格なガイドラインに従います。

カスタム属性は構造体を保持できますが、その構造体内に構造体を含めることはできません。

すべてのクライアントKMIPカスタム属性名は、冒頭にx-のみを使用できます。この接頭辞が冒頭にないOracle Key Vaultカスタム属性は拒否されます。

OKVTTLVオブジェクトを返す関数は、次のように解釈します。

  • 成功の場合は、属性の有効なOKVTTLVオブジェクトが返されます。

  • 失敗の場合は、NULLポインタが返されます。

取得したオブジェクトの長さを返す関数は、次のように解釈します。

  • 成功の場合は、バッファの長さが返されます。

  • 失敗の場合は、ゼロ(0)が返されます。

次のOracle Key Vault関数は、OKVTTLVオブジェクトに対して特定のKMIPデータ型のカスタム属性を追加および取得します。一般に、こうした関数の構成は次のとおりです。

  • okvCustomAttrAddTypeでは、OKVTTLV親オブジェクトにカスタム属性の名前と値を追加します。

  • okvCustomAttrGetTypeLenでは、固定長でないKMIPデータ型について、OKVTTLV親オブジェクトからカスタム属性値の長さを取得します。

  • okvCustomAttrGetTypeでは、OKVTTLV親オブジェクトからカスタム属性の名前と値を取得します。

Oracle Key Vault関数で使用する属性索引と要素索引は、標準のOracle Key Vault KMIP属性APIと同じ意味を持ちますが、次に示す例外があります。

カスタム属性にはイテレータ関数があります。これは、エンドポイントでは特定の名前のカスタム属性の型がわからない可能性があるためです。そのため、カスタム属性のすべての型の反復処理が必要になります。ただし、特定の名前のカスタム属性が検索されたときに、要素索引は確実にその属性をポイントしています。したがって、カスタム属性の取得関数では属性の検索が不要になり、渡された要素索引を更新する必要もありません。

11.2.2 okvCustomAttrAddBoolean

okvCustomAttrAddBooleanでは、OKVTTLV親オブジェクトで指定したカスタム属性にブール・データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddBooleanでは、OKVTTLV親オブジェクトで指定したカスタム属性にブール・データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddBoolean(OKVEnv *env, OKVTTLV *ttlv,
                                  oratext *name, ub4 namel,
                                  ub8 bool_val, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
bool_val IN

カスタム属性に追加するブール値

attr_index IN

ブール・カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: ブール・データ型が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddBoolean(env, req, "x-My Boolean",
                                  strlen("x-My Boolean"),
                                  00000001, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.3 okvCustomAttrAddByteString

okvCustomAttrAddByteStringでは、OKVTTLV親オブジェクトで指定したカスタム属性にバイト列データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddByteStringでは、OKVTTLV親オブジェクトで指定したカスタム属性にバイト列データ型を追加します。

構文

OKVTTLV *okvCustomAttrAddByteString(OKVEnv *env, OKVTTLV *ttlv,
                                    oratext *name, ub4 namel,
                                    ub1 *byte, ub4 bytel, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
byte IN バイト列
bytel IN バイト列の長さ
attr_index IN バイト列カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: バイト列が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
ub1 *byte = "ByteOne";
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddByteString(env, req, "x-My Byte String",
                                     strlen("x-My Byte String"),
                                     byte, strlen(byte), 0);
okvAddAttribute(env, uid, &attr_in);

11.2.4 okvCustomAttrAddDateTime

okvCustomAttrAddDateTimeでは、OKVTTLV親オブジェクトで指定したカスタム属性に日時データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddDateTimeでは、OKVTTLV親オブジェクトで指定したカスタム属性に日時データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddDateTime(OKVEnv *env, OKVTTLV *ttlv,
                                   oratext *name, ub4 namel,
                                   ub8 date_time, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
date_time IN

カスタム属性に追加する日時値

attr_index IN

日時カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 日時カスタム属性が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
time_t   current_time = time((time_t *)NULL);
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddDateTime(env, req, "x-My Date Time",
                                  strlen("x-My Date Time"),
                                  (ub8) current_time, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.5 okvCustomAttrAddEnum

okvCustomAttrAddEnumでは、OKVTTLV親オブジェクトで指定したカスタム属性に列挙データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddEnumでは、OKVTTLV親オブジェクトで指定したカスタム属性に列挙データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddEnum(OKVEnv *env, OKVTTLV *ttlv,
                               oratext *name, ub4 namel,
                               ub4 enumval, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
enumval IN

カスタム属性に追加する列挙値

attr_index IN

列挙カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 列挙値が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddEnum(env, req, "x-My Enumeration",
                               strlen("x-My Enumeration"),
                               CRYPTO_ALG_DES, 0);
okvAddAttribute(env, uid, &attr_in);

関連項目

11.2.6 okvCustomAttrAddInteger

okvCustomAttrAddIntegerでは、OKVTTLV親オブジェクトで指定したカスタム属性に整数データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddIntegerでは、OKVTTLV親オブジェクトで指定したカスタム属性に整数データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddInteger(OKVEnv *env, OKVTTLV *ttlv,
                                  oratext *name, ub4 namel,
                                  ub4 integer, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
integer IN

カスタム属性に追加する整数値

attr_ind IN

整数カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 整数データ型が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddInteger(env, req, "x-My Integer",
                                  strlen("x-My Integer"), 32, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.7 okvCustomAttrAddInterval

okvCustomAttrAddIntervalでは、OKVTTLV親オブジェクトで指定したカスタム属性に間隔データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddIntervalでは、OKVTTLV親オブジェクトで指定したカスタム属性に間隔データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddInterval(OKVEnv *env, OKVTTLV *ttlv,
                                   oratext *name, ub4 namel,
                                   ub4 interval, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
name IN カスタム属性の名前
namel IN カスタム属性の名前の長さ
interval IN

カスタム属性に追加する間隔値

attr_ind IN

間隔カスタム属性の属性索引

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 間隔データ型が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddInterval(env, req, "x-My Interval",
                                         strlen("x-My Interval"),
                                         5, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.8 okvCustomAttrAddLongInteger

okvCustomAttrAddLongIntegerでは、OKVTTLV親オブジェクトで指定したカスタム属性に長整数データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddLongIntegerでは、OKVTTLV親オブジェクトで指定したカスタム属性に長整数データ型を追加します。

構文

OKVTTLV * okvCustomAttrAddLongInteger(OKVEnv *env, OKVTTLV *ttlv,
                                      oratext *name, ub4 namel,
                                      ub8 long_integer, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
name IN カスタム属性の名前。
namel IN カスタム属性の名前の長さ。
long_integer IN

カスタム属性に追加する長整数値。

attr_index IN

長整数カスタム属性の属性索引。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: 長整数データ型が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddLongInteger(env, req, "x-My Long Integer",
                                      strlen("x-My Long Integer"),
                                      (ub8) 32, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.9 okvCustomAttrAddStructure

okvCustomAttrAddStructureでは、OKVTTLV親オブジェクトで指定したカスタム属性にTTLV構造体を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddStructureでは、OKVTTLV親オブジェクトで指定したカスタム属性にTTLV構造体を追加します。

構文

OKVTTLV * okvCustomAttrAddStructure(OKVEnv *env, OKVTTLV *ttlv,
                                    oratext *name, ub4 namel,
                                    OKVTTLV *structure, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
name IN カスタム属性の名前。
namel IN カスタム属性の名前の長さ。
structure IN

カスタム属性に追加するTTLV構造体。

attr_index IN

構造体カスタム属性の属性索引。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: TTLV構造体が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
...
/* Construct the structure to be added */
OKVTTLV *req2 = okvEnvGetOpRequestObj(env);
okvAttrAddUniqueID(env, req2, "Unique_ID354", sizeof("Unique_ID354"));

/* Add the structure */
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddStructure(env, req, "x-My Structure",
                                    strlen("x-My Structure"),
                                    req2, 0);
okvAddAttribute(env, uid, &attr_in);

11.2.10 okvCustomAttrAddTextString

okvCustomAttrAddTextStringでは、OKVTTLV親オブジェクトで指定したカスタム属性にテキスト文字列データ型を追加します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrAddTextStringでは、OKVTTLV親オブジェクトで指定したカスタム属性にテキスト文字列データ型を追加します。

構文

OKVTTLV *okvCustomAttrAddTextString(OKVEnv *env, OKVTTLV *ttlv,
                                    oratext *name, ub4 namel,
                                    oratext *text, ub4 textl, ub4 attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
name IN カスタム属性の名前。
namel IN カスタム属性の名前の長さ。
text IN テキスト文字列。
textl IN テキスト文字列の長さ。
attr_index IN

テキスト文字列カスタム属性の属性索引。

戻り値

戻り値 説明
OKVTTLV *

OKVTTLVオブジェクトへのポインタ。

成功: テキスト文字列データ型が追加されたOKVTTLVオブジェクトへのポインタ。

失敗: NULL

コメント

なし。

OKVTTLV *req = (OKVTTLV *) NULL;
OKVTTLV *attr_in = (OKVTTLV *)NULL;
oratext *text = "Text Message";
...
req = okvEnvGetOpRequestObj(env);
attr_in = okvCustomAttrAddTextString(env, req, "x-My Text String", strlen("x-My Text String"),
                                     text, strlen(text), 0);
okvAddAttribute(env, uid, &attr_in);

11.2.11 okvCustomAttrGet

okvCustomAttrGetでは、要素索引elem_ind以降のカスタム属性を検索します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetでは、要素索引elem_ind以降のカスタム属性を検索します。カスタム属性の実際の要素索引と名前の長さも返されます。

構文

OKVErrNo okvCustomAttrGet(OKVEnv *env, OKVTTLV *ttlv,
                          ub4 *elem_ind, OKVType *typ, ub4 *name_len);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN/OUT 要素索引。
typ IN カスタム属性の型。
name_len OUT カスタム属性の名前の長さ。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Custom Attribute";
ub4 elem_ind = 0;
ub1 typ = 0;
ub4 name_len = 0;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);

/* We need the type of the custom attribute */
okvCustomAttrGetByName(env, ttlv, &elem_ind, attr_name_list[0],
                       strlen((char *) attr_name_list[0]), &typ);
okvCustomAttrGet(env, ttlv, &elem_ind, &typ, &name_len);
printf ("%d %d", elem_ind, name_len);

11.2.12 okvCustomAttrGetBoolean

okvCustomAttrGetBooleanでは、要素索引elem_indにあるブール・データ型をフェッチします。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetBooleanでは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるブール・データ型と属性索引をフェッチします。

構文

OKVErrNo okvCustomAttrGetBoolean(OKVEnv *env, OKVTTLV *ttlv,
                                 ub4 elem_ind, oratext *name, ub4 *namel,
                                 ub8 *bool_val, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
bool_val OUT

elem_indにあるカスタム属性のブール値。

attr_index OUT

ブール・カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Boolean";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub8 bool_val = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetBoolean(env, ttlv, elem_ind, name,
                        &namel, &bool_val, &attr_index);
printf ("%d", bool_val);
...
free(name);

11.2.13 okvCustomAttrGetByName

okvCustomAttrGetByNameでは、要素索引elem_ind以降にある名前nameのカスタム属性を検索します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetByNameでは、要素索引elem_ind以降にある名前nameのカスタム属性を検索します。カスタム属性の実際の要素索引と型も返されます。

構文

OKVErrNo okvCustomAttrGetByName(OKVEnv *env, OKVTTLV *ttlv,
                                ub4 *elem_ind, oratext *name, ub4 name_len,
                                OKVType *typ);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
elem_ind IN/OUT 要素索引
name IN カスタム属性の名前
name_len IN カスタム属性の名前の長さ
typ OUT

カスタム属性の型。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Custom Attribute";
ub4 elem_ind = 0;
ub1 typ = 0;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
okvCustomAttrGetByName(env, ttlv, &elem_ind, attr_name_list[0], strlen((char *) attr_name_list[0]), &typ);
printf ("%d %d", elem_ind, typ);

11.2.14 okvCustomAttrGetByteString

okvCustomAttrGetByteStringは、要素索引elem_indにあるバイト列データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetByteStringは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるバイト列データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetByteString(OKVEnv *env, OKVTTLV *ttlv,
                                    ub4 elem_ind, oratext *name, ub4 *namel,
                                    ub1 *byte, ub4 *bytel, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
byte OUT バイト列。
bytel IN/OUT バイト列の長さ。
attr_index OUT バイト列カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

バイト列データ型用バッファのメモリーは事前に割り当てて、メモリーのサイズをbytelとして渡す必要があります。

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Byte String";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub4 bytel = 16;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
ub1 *byte = (ub1 *) malloc(bytel * (sizeof(ub1)));
memset((void *) byte, 0, bytel);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetByteString(env, ttlv, elem_ind, name,
                           &namel, byte,
                           &bytel, &attr_index);      
printf ("%s", byte);
...
free(name);
free(byte);

11.2.15 okvCustomAttrGetByteStringLen

okvCustomAttrGetByteStringLenは、要素索引elem_indにあるバイト列データ型の長さを返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetByteStringLenでは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるバイト列データ型の長さを返します。

構文

ub4 okvCustomAttrGetByteStringLen(OKVEnv *env, OKVTTLV *ttlv,
                                  ub4 elem_ind);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: バイト列データ型の長さ。

失敗: 0

コメント

なし。

OKVTTLV *attrs = (OKVTTLV *)NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Byte String";
ub4 len = 0, elem_ind = 0;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &attrs);
len = okvCustomAttrGetByteStringLen(env, attrs, elem_ind);

11.2.16 okvCustomAttrGetByType

okvCustomAttrGetByTypeは、要素索引elem_ind以降の型typのカスタム属性を検索して、実際の要素索引とカスタム属性の名前の長さを返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetByTypeでは、要素索引elem_ind以降の型typのカスタム属性を検索します。カスタム属性の実際の要素索引と名前の長さも返されます。

構文

OKVErrNo okvCustomAttrGetByType(OKVEnv *env, OKVTTLV *ttlv,
                                ub4 *elem_ind, OKVType typ, ub4 *name_len);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
elem_ind IN/OUT 要素索引
typ IN カスタム属性の型。
name_len OUT カスタム属性の名前の長さ

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

なし。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Custom Attribute";
ub4 elem_ind = 0;
ub1 typ = 0;
ub4 name_len = 0;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);

/* We need the type of the custom attribute */
okvCustomAttrGetByName(env, ttlv, &elem_ind, attr_name_list[0],
                       strlen((char *) attr_name_list[0]), &typ);
okvCustomAttrGetByType(env, ttlv, &elem_ind, typ, &name_len);
printf ("%d %d", elem_ind, name_len);

11.2.17 okvCustomAttrGetDateTime

okvCustomAttrGetDateTimeは、要素索引elem_indにある日時データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetDateTimeは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにある日時データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetDateTime(OKVEnv *env, OKVTTLV *ttlv,
                                  ub4 elem_ind, oratext *name, ub4 *namel,
                                  ub8 *date_time, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
date_time OUT

要素索引elem_indにあるカスタム属性の日時値。

attr_index OUT

日時カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Date Time";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub8 date_time = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetDateTime(env, ttlv, elem_ind, name,
                         &namel, &date_time, &attr_index);
printf ("%d", date_time);
...
free(name);

11.2.18 okvCustomAttrGetEnum

okvCustomAttrGetEnumは、要素索引elem_indにある列挙データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetEnumは、OKVTTLV親オブジェクトで指定したカスタム属性の要素インデックスelem_indにある列挙データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetEnum(OKVEnv *env, OKVTTLV *ttlv,
                              ub4 elem_ind, oratext *name, ub4 *namel,
                              ub4 *enumval, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
enumval OUT

要素索引 elem_indにあるカスタム属性のenum値。

attr_index OUT

列挙カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Enumeration";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub4 enumval = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetEnum(env, ttlv, elem_ind, name,
                     &namel, &enumval, &attr_index);
printf ("%d", enumval);
...
free(name);

関連項目

11.2.19 okvCustomAttrGetInteger

OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにある整数データ型と属性索引を返します。

カテゴリ

KMIPカスタム属性API

用途

OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにある整数データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetInteger(OKVEnv *env, OKVTTLV *ttlv,
                                 ub4 elem_ind, oratext *name, ub4 *namel,
                                 ub4 *integer, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env

IN

Oracle Key Vault環境ハンドル。

ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
integer OUT elem_indにあるカスタム属性の整数値。
attr_index OUT 整数カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Integer";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub4 integer = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetInteger(env, ttlv, elem_ind, name,
                        &namel, &integer, &attr_index);
printf ("%d", integer);
...
free(name);

11.2.20 okvCustomAttrGetInterval

okvCustomAttrGetIntervalは、要素索引elem_indにある間隔データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetIntervalは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにある間隔データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetInterval(OKVEnv *env, OKVTTLV *ttlv,
                                  ub4 elem_ind, oratext *name, ub4 *namel,
                                  ub4 *interval, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
interval OUT

要素索引elem_indにあるカスタム属性の間隔値。

attr_index OUT

間隔カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Interval";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub4 interval = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetInterval(env, ttlv, elem_ind, name,
                         &namel, &interval, &attr_index);
printf ("%d", interval);
...
free(name);

11.2.21 okvCustomAttrGetLongInteger

okvCustomAttrGetLongIntegerは、要素索引elem_indにある長整数データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetLongIntegerは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにある長整数データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetLongInteger(OKVEnv *env, OKVTTLV *ttlv,
                                     ub4 elem_ind, oratext *name, ub4 *namel,
                                     ub8 *long_integer, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル。
ttlv IN TTLV親オブジェクト。
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
long_integer OUT

要素索引elem_indにあるカスタム属性の長整数値。

attr_index OUT

長整数カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Long Integer";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub8 long_integer = 0;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetLongInteger(env, ttlv, elem_ind, name,
                            &namel, &long_integer, &attr_index);
printf ("%ld", long_integer);
...
free(name);

11.2.22 okvCustomAttrGetStructure

okvCustomAttrGetStructureは、要素索引elem_indにあるTTLV構造体データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetStructureは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるTTLV構造体データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetStructure(OKVEnv *env, OKVTTLV *ttlv,
                                   ub4 elem_ind, oratext *name,
                                   ub4 *namel, OKVTTLV **structure,
                                   ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
elem_ind IN 要素索引
name OUT カスタム属性の名前
namel IN/OUT カスタム属性の名前の長さ
structure OUT カスタム属性のTTLV構造体
attr_index OUT 構造体カスタム属性の属性索引

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。そのどちらかをNULLにすることはできません。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Structure";
ub4 attr_index = 0;
ub4 elem_ind = 0;
OKVTTLV *structure = (OKVTTLV *) NULL;
ub4 namel = 20;
...

/* Retrieve the structure */
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetStructure(env, ttlv, elem_ind, name,
                          &namel, &structure, &attr_index);    

/* Parse the retrieved structure */
ub4 len = 0;
OKVTTLV *cttlv = okvTTLVGetChild(env, structure, 0, (OKVTag *) 0,
                                 (OKVType *) 0, &len);
oratext *cttlv_val = (oratext *)okvTTLVGetValue(cttlv);
printf ("%s", cttlv_val);
...
free(name);

11.2.23 okvCustomAttrGetTextString

okvCustomAttrGetTextStringは、要素索引elem_indにあるテキスト文字列データ型を返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetTextStringは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるテキスト文字列データ型と属性索引を返します。

構文

OKVErrNo okvCustomAttrGetTextString(OKVEnv *env, OKVTTLV *ttlv,
                                    ub4 elem_ind, oratext *name,
                                    ub4 *namel, oratext *text,
                                    ub4 *textl, ub4 *attr_index);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
elem_ind IN 要素索引。
name OUT カスタム属性の名前。
namel IN/OUT カスタム属性の名前の長さ。
text OUT テキスト文字列。
textl IN/OUT テキスト文字列の長さ。
attr_index OUT テキスト文字列カスタム属性の属性索引。

戻り値

戻り値 説明
OKVErrNo

Oracle Key Vaultエラー番号。

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

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

コメント

テキスト文字列データ型用バッファのメモリーは事前に割り当てて、メモリーのサイズをtextlとして渡す必要があります。

カスタム属性の名前用バッファのメモリーを事前に割り当てて、メモリーのサイズをnamelとして渡すか、namenamelの両方をNULLにする必要があります。

OKVTTLV *ttlv = (OKVTTLV *) NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Text String";
ub4 attr_index = 0;
ub4 elem_ind = 0;
ub4 textl = 16;
ub4 namel = 20;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &ttlv);
oratext *text = (oratext *) malloc(textl * (sizeof(oratext)));
memset((void *) text, 0 , textl);
oratext *name = (oratext *) malloc(namel * (sizeof(oratext)));
memset((void *) name, 0, namel);
okvCustomAttrGetTextString(env, ttlv, elem_ind, name,
      &namel, text,
      &textl, &attr_index);
printf ("%s", text);
...
free(name);
free(text);

11.2.24 okvCustomAttrGetTextStringLen

okvCustomAttrGetTextStringLenは、要素索引elem_indにあるテキスト文字列データ型の長さを返します。

カテゴリ

KMIPカスタム属性API

用途

okvCustomAttrGetTextStringLenは、OKVTTLV親オブジェクトで指定したカスタム属性の要素索引elem_indにあるテキスト文字列データ型の長さを返します。

構文

ub4 okvCustomAttrGetTextStringLen(OKVEnv *env, OKVTTLV *ttlv,
                                  ub4 elem_ind);

パラメータ

パラメータ IN/OUT 説明
env IN Oracle Key Vault環境ハンドル
ttlv IN TTLV親オブジェクト
elem_ind IN 要素索引

戻り値

戻り値 説明
ub4

属性値の長さ。

成功: テキスト文字列データ型属性値の長さ。

失敗: 0

コメント

なし。

OKVTTLV *attrs = (OKVTTLV *)NULL;
oratext *attr_name_list[1];
attr_name_list[0] = "x-My Text String";
ub4 len = 0, elem_ind = 0;
...
okvGetAttributes(env, uid, 1, (oratext **) attr_name_list, &attrs);
len = okvCustomAttrGetTextStringLen(env, attrs, elem_ind);