Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第6章 アプリケーションの作成(C API) | > 6.2 関数インタフェース | > 6.2.2 セションのオープン/初期設定 |
この関数は、SSLを使用する場合に、通常のldap_init()の代わりに使用します。
この関数でセションをオープンした場合は、サーバとの通信を安全なものとすることができます。
【指定形式】
LDAP *ldapssl_init( char *hostname, int portno, SSLENV *sslenv ); |
【パラメタの説明】
リポジトリサーバのホスト名、またはIPアドレスを示す文字列のアドレスを指定します。ホスト名やIPアドレスは、空白で区切って複数指定することができます。
複数の相手ホストが指定された場合、コネクションを確立する際に指定された順番で接続を試みて、接続に成功した最初のホストと通信を行います。
リポジトリサーバのポート番号を指定します。
デフォルトのLDAPポートを使用する場合は、ポート番号に0を指定します。デフォルトのポート番号はLDAP_SSL_PORT“636”です。
SSLENV構造体のアドレスを指定します。
SSLを使用する場合は、ここで指定する構造体にSSLの動作環境の情報を設定し、パラメタとして渡す必要があります。この構造体の各メンバには、以下の値を設定します。
SSLENV構造体のメンバを以下に示します。
【SSLENV構造体のメンバの説明】
使用するSSLプロトコルの種類を指定します。
これ以外の値を指定した場合は、SSLを使用しないものとして処理されます(ldap_init()と同じ処理となります)。
証明書の検証を行うかどうかの指定を行います。
これ以外の値を指定した場合は、以下の値が指定されたものとみなされます。
暗号化の方法を、暗号化アルゴリズムを示す文字列のアドレスで指定します。複数指定する場合には、“:”(コロン)で区切り、列記します。
指定可能な暗号化アルゴリズムの文字列を以下に示します。セキュリティレベルの値は、暗号強度の順位を表しています。
プロトコル |
暗号化方式の文字列 |
セキュリティ |
---|---|---|
SSL V2 |
"DES-CBC3-MD5" |
1 |
"DES-CBC-MD5" |
2 |
|
"RC4-MD5" |
3 |
|
"RC2-MD5" |
3 |
|
"EXP-RC4-MD5" |
5 |
|
"EXP-RC2-MD5" |
5 |
|
SSL V3 |
"RSA-3DES-SHA" |
1 |
"RSA-DES-SHA" |
2 |
|
"RSA-RC4-MD5" |
3 |
|
"RSA-RC4-SHA" |
3 |
|
"RSA-EXPORT-RC4-MD5" |
5 |
|
"RSA-EXPORT-RC2--MD5" |
5 |
|
"RSA-NULL-MD5" |
7 |
|
"RSA-NULL-SHA" |
7 |
省略(NULLを指定)した場合は、暗号化ライブラリ(SCTL/SCLライブラリ)がサポートしている暗号仕様で、組合せ可能な暗号化アルゴリズムが指定されたものとみなします。
スロットディレクトリのアドレスを指定します(ディレクトリのパス名をフルパスで指定します)。SSL環境定義ファイルの設定時に指定したスロットディレクトリを指定してください。SSL環境定義ファイルの設定については、“SSL環境定義ファイルの設定”を参照してください。
トークンラベルのアドレスを指定します。SSL環境定義ファイルの設定時に指定したトークンラベルを指定してください。SSL環境定義ファイルの設定については、“SSL環境定義ファイルの設定”を参照してください。
ユーザPINのアドレスを指定します。SSL環境定義ファイルの設定時に指定したユーザPINを指定してください。SSL環境定義ファイルの設定については、“SSL環境定義ファイルの設定”を参照してください。
運用管理ディレクトリのアドレスを指定します(ディレクトリのパス名をフルパスで指定します)。SSL環境定義ファイルの設定時に指定した運用管理ディレクトリを指定してください。SSL環境定義ファイルの設定については、“SSL環境定義ファイルの設定”を参照してください。
ユーザ証明書ニックネームのアドレスを指定します。省略(NULLを指定)した場合は、証明書管理に登録されている自分の証明書がすべて指定されたものとみなします。SSL環境定義ファイルの設定時に指定したユーザ証明書ニックネームを指定してください。SSL環境定義ファイルの設定については、“SSL環境定義ファイルの設定”を参照してください。
SSLエラーコードが設定されます。必ず0で初期化する必要があります。
SSLエラー詳細コードが設定されます。必ず0で初期化する必要があります。
SSLにおけるタイマ(秒単位)を設定します。0を指定した場合は、タイマが3600秒となります。リポジトリサーバの応答に対する最大の待ち時間に使用されます。
【復帰値】
この関数は、復帰値として以下の値を返します。
正常完了の場合、セションハンドルには獲得したLDAP構造体へのポインタが通知されます。
異常完了の場合、以下の原因が考えられます。
【注意事項】
これ以降に呼び出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、そのセションをクローズするまで有効です。
ldapssl_init()で発生したSSLライブラリのエラーコードは、ldapssl_error()で参照することができません。そのため、SSLENV構造体のメンバ(ssl_errとssl_err_detail)の値でチェックする必要があります。
SSLライブラリでエラーが発生していない場合は、0が設定されたままとなっています。SSLエラーコードの値については、“SSLエラーコード”を参照してください。
SSLを使用した簡易認証を行う場合、認証はDN名とパスワードを使用して行われます。この場合、DN名による簡易認証とSSLによる安全な通信が可能になります。簡易認証については、“リポジトリサーバとのユーザ認証”を参照してください。
オープンした1つのセションを複数のスレッドで共有し、各スレッドからLDAP要求を行うことはできません。スレッドを使用しLDAP要求を行う場合、各スレッドでldapssl_init()を呼び獲得したセションを使用し、それぞれのスレッドからLDAP要求をしてください。
目次
索引
![]() ![]() |