Interstage Application Server ディレクトリサービス運用ガイド
目次 索引 前ページ次ページ

第9章 アプリケーションの作成(C API)> 9.3 ソースプログラムの作成

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()を使用します。

セションの初期設定

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

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

LDAPプロトコルバージョンを指定する
 LDAPプロトコルのバージョンを指定しない場合、LDAP V2プロトコルが使用されます。Interstage ディレクトリサービスでは、LDAP V2プロトコルをサポートしていないため、セションハンドルオプションを使って、必ずLDAP V3プロトコルを指定してください。

/* オプションの設定 ( LDAP_VERSION3 ) */ optdata = LDAP_VERSION3; rtn = ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, (void *)(&optdata) );

 関数、およびセションハンドルオプションの値について詳しくは、“リファレンスマニュアル(API編)”の“セションのオープンとクローズインタフェース”、および“セションハンドルオプションの設定/参照インタフェース”を参照してください。

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED