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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpkey_open(3c)

名前

tpkey_open()−デジタル署名の生成、メッセージの暗号化、またはメッセージの解読のためのキー・ハンドルのオープン

形式

#include <atmi.h>
int tpkey_open(TPKEY *hKey, char *principal_name, char *location, char *identity_proof, long proof_len, long flags)

機能説明

tpkey_open() は、呼び出し側のプロセスからキー・ハンドルを使用できるようにします。キー・ハンドルは、特定のプリンシパルのキーおよびそれに関連付けられている情報を表します。

キーは、以下の内 1 つまたは複数の目的に使用できます。

tpkey_open() によって返されたキー・ハンドルは *hKey に格納されますが、値に NULL を使用することはできません。

principal_name 入力パラメータは、キーの所有者の ID を指定します。principal_name の値が NULL ポインタまたは空の文字列の場合、デフォルト ID が使用されます。デフォルトの ID は、現在のログイン・セッション、現在のオペレーティング・システムのアカウント、またはローカル・ハードウェア・デバイスなどの別の属性に基づいています。

キーのファイル位置は、location パラメータに渡されます。基本となるキー管理プロバイダが位置を示すパラメータを必要としない場合、このパラメータの値は NULL を使用できます。

principal_name の ID を認証するには、パスワードやパス・フレーズなどの証明資料が必要になります。証明資料が必要な場合は、identity_proof によって資料を参照する必要があります。証明資料が不要な場合、このパラメータの値は NULL でかまいません。

証明資料の長さ (バイト) は、proof_len で指定します。proof_len が 0 の場合、identity_proof は NULL で終了する文字列と見なされます。

キーの操作モードに必要なキー・アクセスのタイプは、flags パラメータで指定します。

TPKEY_SIGNATURE:

この秘密鍵は、デジタル署名の生成に使用されます。

TPKEY_AUTOSIGN:

このプロセスがメッセージ・バッファを伝送すると、公開鍵ソフトウェアが署名者の秘密鍵を使用してデジタル署名を生成し、そのデジタル署名をバッファにアタッチします。TPKEY_SIGNATURE が暗黙的に指定されています。

TPKEY_ENCRYPT:

この公開鍵は、暗号化されたメッセージの受信者を識別するのに使用されます。

TPKEY_AUTOENCRYPT:

このプロセスによってメッセージ・バッファが伝送されると、公開鍵ソフトウェアがメッセージの内容を暗号化し、受信者の公開鍵を使って暗号化エンベロープを生成し、その暗号化エンベロープをバッファにアタッチします。TPKEY_ENCRYPT が暗黙的に指定されています。

TPKEY_DECRYPT:

この秘密鍵は解読に使用されます。

これらのフラグは 1 つまたは複数を組み合わせて使用することができます。キーを暗号化のみに使用する場合 (TPKEY_ENCRYPT)、identity_proof は必要ないので NULL に設定できます。

戻り値

正常終了すると、*hKey はこのキーを表す値に設定され、tpsign()tpseal() などの関数で使用できるようになります。

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

エラー

[TPEINVAL]

無効な引数が指定されました。たとえば、hKey の値が NULL、または flags パラメータが正しく設定されていません。

[TPEPERM]

パーミッションに失敗しました。暗号サービス・プロバイダが、指定された証明情報と現在の環境下では、このプリンシパルの秘密鍵にアクセスできません。

[TPESYSTEM]

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

関連項目

tpkey_close(3c)tpkey_getinfo(3c)tpkey_setinfo(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy