BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


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 に格納されますが、値にヌルを使用することはできません。

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

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

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

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

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

TPKEY_SIGNATURE:

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

TPKEY_AUTOSIGN:

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

TPKEY_ENCRYPT:

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

TPKEY_AUTOENCRYPT:

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

TPKEY_DECRYPT:

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

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

戻り値

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

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

エラー

[TPEINVAL]

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

[TPEPERM]

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

[TPESYSTEM]

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

関連項目

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

 

先頭へ戻る 前のトピックへ 次のトピックへ