bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpkey_getinfo(3c)

名前

tpkey_getinfo()−キー・ハンドルに関連付けられた情報の取得

形式

#include <atmi.h>
int tpkey_getinfo(TPKEY hKey, char *attribute_name, void *value, long *value_len, long flags)

機能説明

tpkey_getinfo() は、キー・ハンドルに関する情報を報告します。キー・ハンドルは、特定のプリンシパルのキーおよびそれに関連付けられている情報を表します。

調査対象のキーは、hKey 入力パラメータによって識別されます。情報が要求されている属性は、attribute_name 入力パラメータによって識別されます。暗号サービス・プロバイダ固有の属性もありますが、以下のような基本的属性はすべてのプロバイダがサポートしています。

属性

PRINCIPAL

キー (キー・ハンドル) と関連付けられているプリンシパルを識別する名前。ヌルで終了する文字列で表されます。

PKENCRYPT_ALG

公開鍵暗号化のためのキーによって使用される公開鍵アルゴリズムの ASN.1 Distinguished Encoding Rules (DER) オブジェクト識別子。

RSA のオブジェクト識別子については、次の表「アルゴリズム・オブジェクト識別子のアルゴリズムの対照表」を参照してください。

PKENCRYPT_BITS

公開鍵アルゴリズムのキーの長さ (RSA のモジュロ・サイズ)。この値は、512 〜 2048 ビットの範囲でなければなりません。

SIGNATURE_ALG

デジタル署名のキーによって使用される、デジタル署名アルゴリズムの ASN.1 DER オブジェクト識別子。

RSA および DSA のオブジェクト識別子については、次の表「アルゴリズム・オブジェクト識別子のアルゴリズムの対照表」を参照してください。

SIGNATURE_BITS

デジタル署名アルゴリズムのキー長さ (RSA のモジュロ・サイズ)。この値は、512 〜 2048 ビットの範囲でなければなりません。

ENCRYPT_ALG

バルク・データ暗号化のキーによって使用される対称鍵アルゴリズムの ASN.1 DER オブジェクト識別子。

DES、3DES、および RC2 のオブジェクト識別子については、次の表「アルゴリズム・オブジェクト識別子のアルゴリズムの対照表」を参照してください。

ENCRYPT_BITS

対称鍵アルゴリズムのキー長さ。この値は、40 〜 128 ビットの範囲でなければなりません。

キー長が固定されたアルゴリズムが ENCRYPT_ALG に設定されると、ENCRYPT_BITS の値は自動的にその固定キー長に設定されます。たとえば、ENCRYPT_ALG が DES に設定されると、ENCRYPT_BITS の値は自動的に 56 に設定されます。

DIGEST_ALG

デジタル署名のキーによって使用される、メッセージ・ダイジェスト・アルゴリズムの ASN.1 DER オブジェクト識別子。

MD5 および SHA-1 のオブジェクト識別子は、次の表「アルゴリズム・オブジェクト識別子のアルゴリズムの対照表」を参照してください。

PROVIDERS

暗号サービス・プロバイダの名前。

VERSION

暗号サービス・プロバイダのソフトウェアのバージョン番号。


 

デフォルトの公開鍵インプリメンテーションがサポートする ASN.1 DER アルゴリズムのオブジェクト識別子を、表 11 に示します。

表 11 アルゴリズム・オブジェクト識別子のアルゴリズムの対照表

ASN.1 DER アルゴリズムのオブジェクト識別子

アルゴリズム

{ 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x02, 0x05 }

MD5

{ 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a }

SHA1

{ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01 }

RSA

{ 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x0c }

DSA

{ 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x07 }

DES

{ 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x07 }

3DES

{ 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02 }

RC2


 

指定された attribute_name パラメータに関連付けられている情報は、値によって示されるメモリ位置に格納されます。この位置に格納できる最大データ量は、呼び出し元によって value_len に指定されます。

tpkey_getinfo() が完了すると、value_len は実際に返されたデータ・サイズに設定されます。この場合、string 値の終了 NULL 値も含まれます。返されるバイト数が value_len より大きい場合、tpkey_getinfo() は異常終了し (TPELIMIT エラー・コードを返し)、value_len を必要な大きさに設定します。

引数 flags は使用されません。この引数は将来使用する予定であり、現在は必ずゼロを指定してください。

戻り値

異常終了すると、この関数は -1 を返し、tperrno を設定してエラー条件を示します。

エラー

[TPEINVAL]

無効な引数が指定されました。たとえば、hKey が無効です。

[TPESYSTEM]

エラーが発生しました。詳細については、システム・エラーのログ・ファイルを参照してください。

[TPELIMIT]

要求された属性値を保持するための十分なスペースがありません。

[TPENOENT]

要求された属性は、このキーに関連付けらていません。

関連項目

tpkey_close(3c)tpkey_open(3c)tpkey_setinfo(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy