DCAS API オブジェクト
Digital Certificate Access Server (DCAS) API オブジェクト (DCASClient) は、パスチケット要求をカプセル化します。メンバーおよびメソッドは以下のとおりです。
メンバー:
- ポート番号
- 鍵ストアのファイル名
- 鍵ストアのパスワード
- WellKnownTrustedCAs 使用
- サーバー認証
- トレース・レベル
新しいプラグインの開発に使用できる新規 API がリリースされています。推奨の API は、以下で優先 の記号のフラグを立てています。
メソッド:
- Public DCASClient()
- オブジェクト作成時にデフォルトのトレース・レベルとログ・ファイル名を使用する場合は、このコンストラクターを使用します。
- Public DCASClient(int traceLevel, String logFile)
- オブジェクト作成時にトレース・レベルとログ・ファイル名を指定する場合は、このコンストラクターを使用します。
- traceLevel - トレース・レベル (0= なし、1= 最小、2= 通常、3= 最大)
- logFile - トレース・ログ・ファイル名。このパラメーターは ZIETrans では使用しません。トレースは、ZIETrans トレース・ファイルに記録されます。 Web 高速ログオン トレースは、ランタイム・トレース・フラグ
trace.RUNTIMEを使用して制御されます。
public int Init (String hostAddress, int hostPort, String trustStoreName, String trustStorePassword, String trustStoreType)- 優先
- hostAddress - DCAS サーバーの IP アドレス。
- hostPort - DCAS サーバーのポート番号。指定されない場合は、デフォルトのポート番号 8990 が使用されます。
- trustStoreName - JSSE によって DCAS の接続に使用されるトラストストアの名前。この名前には、絶対パス名を含めてください。この名前は、デフォルトのトラストストアまたは WellKnownTrustedCAs.p12 を使用している場合はヌルに設定されます。
- trustStorePassword - 指定されたトラストストアのパスワード。このパスワードは、デフォルトのトラストストアまたは WellKnownTrustedCAs.p12 を使用している場合はヌルに設定されます。
- trustStoreType - 指定されたトラストストアのタイプ。有効な値は、以下のとおりです。
- DCASClient.TRUSTSTORE_TYPE_PKCS12 (pkcs12)
- DCASClient.TRUSTSTORE_TYPE_JCEKS (jceks)
- DCASClient.TRUSTSTORE_TYPE_JKS (jks)
このメソッドは、DCASClient オブジェクトの作成後に呼び出されます。これらのパラメーターはオブジェクトに保管され、オブジェクトが存続する間は変更されません。トラストストア名には、絶対パス名を含めてください。デフォルトのトラストストアまたは WellKnownTrustedCAs.p12 が使用されない場合は、トラストストアには DCAS クライアント証明書と DCAS サーバー証明書を含める必要があります。トラストストアのパスワードは、パスワードの暗号化ツールを使用して暗号化される必要があります。このパスワードは、オブジェクト内に格納される前に暗号化解除されます。有効な戻りコードは、SSOConstants オブジェクトに説明があります。成功時は 0、失敗時は 0 以外を返します。戻りコードについては、SSOConstants を参照してください。
Public int Init(String dcasAddr, int dcasPort, String keystoreFileName, String keystorePassword)- このメソッドは、DCASClient オブジェクトの作成後に呼び出されます。これらのパラメーターはオブジェクトに保管され、オブジェクトが存続する間は変更されません。keystoreFileName には、絶対パス名が入ります。鍵ストア・データベースには、DCAS クライアント証明書と DCAS サーバー証明書が格納されている必要があります。WellKnownTrustedCAs.p12 またはデフォルトのトラストストアがこれらの証明書に使用されている場合は、keystoreFileName と keystorePassword をヌルに設定します。鍵ストアのパスワードは、パスワードの暗号化ツールを使用して暗号化される必要があります。このパスワードは、オブジェクト内に格納される前に暗号化解除されます。有効な戻りコードは、SSOConstants オブジェクトに説明があります。
P12 以外のタイプの鍵ストアが使用されている場合は、代わりに
Init(hostAddress, hostPort, trustStoreName, trustStorePassword, trustStoreTypeメソッドを使用してください。- dcasAddr - DCAS サーバーの IP アドレス
- dcasPort - DCAS ポート番号。指定されない場合は、デフォルトのポート番号 8990 が使用されます。
- keystoreFileName - SSL 鍵ストア・データベース・ファイルの名前。この名前には、絶対パス名が入ります。独自のプラグインを開発している間は、ZIETrans アプリケーション展開時に使用される絶対パスがわかりません。以下に示すコード例は、実行時に提供されたファイル名パラメーターを、EAR ディレクトリーに対して相対的な完全修飾ファイル名に変換するために使用できます。
import com.ibm.eNetwork.security.sso.cms.CredMapper; import com.ibm.eNetwork.security.sso.cms.PluginResourceLocator; if ( (p12FileName != null) && (CredMapper.getPluginResourceLocator() != null)) p12FileName = CredMapper.getPluginResourceLocator().findResource(p12FileName); - keystorePassword - 上記の鍵ストア・データベースのパスワード。
PasswordCipher.encrypt()メソッドを使用して暗号化されている必要があります。暗号化されたパラメーターによってこのパスワードが提供されている (つまり、パラメーターが cmiEncrypted="true" と設定されている) 場合、パスワードは暗号の形式でプラグインに提供されます。暗号化されたパラメーターが提供されない場合は、以下のコードを使用すれば暗号化できます。
有効な戻りコードを、 状況コード定義 に示します。import com.ibm.eNetwork.HOD.common.PasswordCipher; keystorePW = PasswordCipher.encrypt(keystorePW);
public void setUseDefaultTrustStore(boolean def)
public void setNoFIPS(boolean nof)
- Public void setWellKnownTrustedCAs(boolean wellKnownCAs)
- Public void setServerAuthentication(boolean serverAuth)
- Public CMResponse getPassticket(String hostUserID, String hostApplID, String hostAddr, long timeout)
- このメソッドは、DCASClient オブジェクトの作成および初期化後に、DCAS サーバーからパスチケットを取得するために呼び出されます。パスチケットおよびユーザー ID は、CMResponse オブジェクトに戻されます。呼び出し元は、CMResponse オブジェクトの状況フィールドを検査して、呼び出しが正常に実行されたかどうかを確認する必要があります。呼び出しが正常に実行されると、状況フィールドには SSO_CMR_SUCCESS が設定されます。状況フィールドの有効な値を、 状況コード定義 に示します。DCAS との間で SSL クライアント認証接続が確立し、以降のすべてのパスチケット要求に再利用されます。
- hostUserID - パスチケットが要求されるユーザー ID。
- hostApplID - パスチケットが要求されるアプリケーション ID。
- hostAddr - DCAS アドレス。
- timeout - DCAS プロトコルがパスチケットを戻すまでの有効時間でミリ秒で指定。
- Public void Destroy()
- このメソッドは、DCAS 接続をクローズします。