ページの先頭行へ戻る
Interstage Application Server ディレクトリサービス運用ガイド

9.3.2 セションのオープン、初期設定

  クライアントは、Interstage ディレクトリサービスとの通信を開始する前に、セションのオープン、セションの初期化(セションハンドルオプションの設定)を行う必要があります。

セションのオープン

  セションをオープンするには、以下の関数を使用します。

  これらの関数は、セションを識別するためのセションハンドルを返します。

  オープンした1つのセションを、複数のスレッドで共有することはできません。複数のスレッドを持つアプリケーションで使用する場合は、“アプリケーション作成の前に”の“複数のスレッドがInterstageディレクトリサービスと通信する場合”を参照してください。

SSL通信を使用しない

  ldap_init()でセションハンドルをオープンします。
  以下に、使用例を示します。

  LDAP    *ld;
  /* セションのオープン */
  ld = ldap_init( "hostname", 389 );
  if ( ld == NULL ) {
      /* エラー発生時の処理をする */
      return -1;
  }

SSL通信を使用する

  クライアントAPIライブラリでは、SSLを使用してInterstage ディレクトリサービスと安全な通信を行うことができます。
  SSLプロトコルを使用する場合は、ldap_init()の代わりにldapssl_init()でセションをオープンします。
  SSLプロトコルを使用するためには、SSL環境をクライアントに構築し、SSL通信を行うサーバに対応したSSL情報を設定する必要があります。
  SSL通信環境構築の詳細な手順については、“SSL通信環境の構築(クライアント・サーバ間)”を参照してください。
  以下に、使用例を示します。

  LDAP    *ld;
  SSLENV  sslenv

  memset( sslenv, 0x00, sizeof(SSLENV) );
  sslenv->ssl_version = 3;
  sslenv->crypt       = "RSA-3DES-SHA:RSA-DES-SHA";
  sslenv->tkn_lbl     = "Token01";
  sslenv->tkn_pwd     = "userpin";
  sslenv->slot_path   = "/sslenv/slot";
  sslenv->cert_path   = (unsigned char *)"/sslenv/sslcert";

  /* SSLを使用したセションのオープン */
  ld = ldapssl_init( "hostname", 636, &sslenv );
  if ( ld == NULL ) {
      /* エラー発生時の処理をする */
      return -1;
  }

  sslenvには、SSLの動作環境の情報を設定したSSLENV構造体のアドレスを指定します。
  ldapssl_init()でSSLライブラリでエラーが発生した場合は、sslenv構造体のssl_err、およびssl_err_detailメンバにエラーコードが設定されます。また、ldapssl_init()以降の関数で発生したSSLライブラリのエラーコードを参照するには、ldapssl_error()を使用します。

セションの初期設定

  クライアントは、該当するセションごとの動作環境を、セションハンドルオプションとして設定・参照できます。
  セションハンドルオプションの設定、参照をするには、以下の関数を使用します。

  以下の項目を設定、参照できます。