独自のプラグインの作成
Network Security プラグインおよび HCM プラグインは、CMInterface インターフェースを インプリメントする Java クラスです。CMS は、前述の API を使って、プラグインへの呼び出しを行います。
Network Security プラグイン:Z and I Emulator for Web には、Tivoli Access Manager 用プラグインと Netegrity Siteminder 用プラグインという 2 つの Network Security プラグインが用意されています。これらをいずれも使用しない場合には、ユーザー自身の プラグインを作成できます。
Network Security プラグインの主な機能は、ユーザーのネットワーク ID を獲得することであり、 この ID は着信 HTTP 要求オブジェクトの HTTP ヘッダーから得ることができます。ネットワーク ID の 取得方法の詳細は、ご使用のネットワーク・セキュリティー・アプリケーションに応じて異なります。詳細については、ご使用のネットワーク・セキュリティーの資料を参照してください。
HCM プラグイン:Z and I Emulator for Web には、DCAS 用プラグインが 2 つ、Vault 用プラグインが 1 つという、3 つの HCM プラグインが用意されています。これらをいずれも使用しない場合には、ユーザー自身の プラグインを作成できます。サンプル HCM プラグイン・コードについては、サンプル HCM プラグインを参照してください。
HCM プラグインの主な機能は、ユーザーのネットワーク ID またはユーザーの証明書 (さらに、アプリケーション ID も 必要である可能性が高い) を取得して、適切なホスト信任状を入手することです。Web Express Logon の インプリメンテーションでは、ユーザーのネットワーク ID は、JDBC アクセス可能データベースを経由して それらのホスト ID にマップされます。ただし、これは LDAP などの別な方法で行うこともできます。この理由から、ユーザー独自の HCM プラグイン を作成することもできます。ここでは、DCAS/JDBC プラグインにおいてユーザーのネットワーク ID を ホスト ID に関連付けることで、3270 アプリケーション・ログインを自動化します。次に、 それらのホスト ID とアプリケーション ID を使用して、RACF 生成のパスチケットを取得します。このパスチケットは、ユーザーがホストにサインオンするときに使用されます。ご使用の環境で、プラグインの JDBC アソシエーション部分を使用しなくてもかまいません。そのため、 ここでは、独自のカスタム・プラグインを開発するために使用可能な DCAS API を提供しています。この API を使用すれば、RACF 生成のパスチケットにアクセスできます。
DCAS API オブジェクト (DCASClient) は、Passticket 要求をカプセル化します。
DCAS API クライアントには、以下のメンバーが含まれています。
- ポート番号
- 鍵リング・ファイル名
- 鍵リング・パスワード
- WellKnownTrustedCAs 使用
- サーバー認証
- トレース・レベル
- トレース・ログ・ファイル名
DCAS API クライアントには、以下のメソッドが含まれています。
- Public DCASClient()
- オブジェクト作成時にデフォルトのトレース・レベルとログ・ファイル名を使用する場合は、このコンストラクターを使用します。
- Public DCASClient(int traceLevel, String logFile)
- traceLevel - トレース・レベル (0=なし、1=最小、2=通常および 3=最大)
- logFile - トレース・ログ・ファイル名。この名前には、絶対パス名を含めてください。
- Public int Init (String hostAddress, int hostPort, String trustStoreName, String trustStorePassword, String trustStoreType)
- hostAddress - DCAS サーバーの IP アドレス
- hostPort - DCAS サーバーのポート番号。指定しない場合、デフォルトのポート番号 8990 が使用されます。
- trustStoreName - DCAS に接続するために JSSE が使用するトラストストアの名前。この名前には、絶対パス名を含めてください。デフォルトのトラストストアを使用する場合は、ヌルに設定してください。
- trustStorePassword - 上記トラストストアのパスワード。デフォルトのトラストストアを使用する場合は、ヌルに設定してください。
- trustStoreType - 上記トラストストアのタイプ。有効値は DCASClient.TRUSTSTORE_TYPE_PKCS12 (pkcs12)、DCASClient.TRUSTSTORE_TYPE_JCEKS (jceks)、 および DCASClient.TRUSTSTORE_TYPE_JKS (jks) です。デフォルトのトラストストアを使用する場合は、ヌルに設定してください。
- public void setUseDefaultTrustStore(boolean def)
- public void setNoFIPS(boolean nof)
- Public int Init(String dcasAddr, int dcasPort, String keyringFileName, String keyringPassword)
- dcasAddr - DCAS サーバーの IP アドレス
- dcasPort - DCAS サーバーのポート番号。指定しない場合、デフォルトのポート番号 8990 が使用されます。
- keyringFileName - SSL 鍵リング・データベース・ファイルの名前。この名前には、絶対パス名を含めてください。
- keyringPassword - 上記鍵リング・データベースのパスワード。
- Public void setWellKnownTrustedCAs(boolean wellKnownCAs)
- public void setWellKnownTrustedCAsPassword(String password)
- このメソッドは、上記のパラメーターで指定された値を設定するために使用します。
- Public void setServerAuthentication(boolean serverAuth)
- Public void setTraceLevel(int level)
- Public void setLogFile(string fileName)
- Public CMResponse getPassticket(String hostUserID, String hostApplID, String hostAddr, long timeout)
- hostUserID - パスチケットが要求されるユーザー ID。
- hostApplID - パスチケットが要求されるアプリケーション ID。
- hostAddr - DCAS サーバーのアドレス。
- timeout - DCAS プロトコルがパスチケットを戻す場合に利用できる時間。ミリ秒単位で指定します。
- Public CMResponse getPassticket(byte certificate[], String hostApplID, String hostAddr, long timeout)
- certificate - パスチケットが要求されるユーザー証明書。
- hostApplID - パスチケットが要求されるアプリケーション ID。
- hostAddr - DCAS サーバーのアドレス。
- timeout - DCAS プロトコルがパスチケットを戻す場合に利用できる時間。ミリ秒単位で指定します。
- Public void Destroy()
- このメソッドは、DCAS 接続をクローズします。