31 アウトバウンド双方向SSL接続のクライアント証明書の指定
アウトバウンド双方向SSL接続を指定するためにクライアント証明書を使用するには、次の項で説明するステップを実行します。
ノート:
WebLogic Serverのアイデンティティのクライアント証明書への切替えは、アウトバウンド双方向SSL接続を行う場合にのみサポートされます。WebLogic ServerがSSLサーバーとして機能するインバウンドSSL接続の場合、アイデンティティには常にサーバー証明書が使用されます。
IDキーストアへのクライアント証明書の追加
WebLogic Serverのアイデンティティ・キーストアにクライアント証明書を追加し、秘密キーおよびパブリック証明書が保存される別名の名前を定義します。このタスクは1回のみ実行する必要があります。構成ステップが完了すると、現在のWebLogic Serverインスタンスで、アウトバウンド双方向SSL接続を行うクライアント・アイデンティティはいつでも使用できるようになります。
クライアント証明書をアイデンティティ・キーストアに追加するには、次のステップを実行します。
- クライアント・キー・ペア(公開キーと関連する秘密キー)および秘密キーの別名を作成し、これをWebLogic Serverアイデンティティ・キーストアに保存します。これは、keytoolユーティリティを使用して行うことができます。
- 証明書署名リクエスト(CSR)を生成し、これを認証局(CA)に提出すると、認証局はCAの署名のあるクライアント証明書を返します。サーバー証明書と同じCAを使用し、両方の証明書が信頼性のある同じルートCAを持つようにすることをお薦めします。
- CA署名のあるクライアント証明書をアイデンティティ・キーストアに保存します(クライアント証明書がサーバー証明書と同じCAによって署名されている場合、ルートCA証明書はすでに信頼キーストアにあるため、これを保存するステップをスキップできます)。
アウトバウンド双方向SSL接続の開始
クライアント証明書を使用してアウトバウンド双方向SSL接続を開始するWLSTスクリプトの作成方法を学習します。
クライアント証明書を使用してアウトバウンド双方向SSL接続を開始するには、次の操作を行うWLSTスクリプトを作成します。
- WebLogic Serverインスタンスに接続します。
SSLMBean.UseServerCerts
属性をtrue
に設定します。これで発信接続のサーバーIDが確立します。SSLMBean.UseClientCertForOutbound
属性をtrue
に設定することにより、クライアント証明書のIDに切り替えます。SSLMBean.ClientCertPrivateKeyPassPhrase
属性を使用してクライアント証明書の秘密キー・パスワードを指定し、SSLMBean.ClientCertAlias
属性を使用してクライアント証明書のキーストア別名を指定します。
例31-1 クライアントIDを使用してアウトバウンド双方向SSL接続を開始するWLSTスクリプトのサンプル
url="t3://localhost:7001" adminUsername="weblogic" adminPassword="password" connect(adminUsername, adminPassword, url) edit() server=cmo.lookupServer('myserver') cd('Servers') cd('myserver') startEdit() cd('SSL') cd('myserver') ssl = server.getSSL() ssl.setUseServerCerts(true) ssl.setUseClientCertForOutbound(true) ssl.setClientCertAlias("myClientCert") ssl.setClientCertPrivateKeyPassPhrase("myClientCertPrivateKeyPassPhrase") save() activate() disconnect() exit()
例31-1は、WebLogic Serverに構成されたIDキーストアにあるクライアント証明書を使用して、アウトバウンド双方向SSL接続を開始するWLSTスクリプトを示します。
ノート:
明確にするために、このWLSTサンプル・スクリプトでは、ユーザー名およびパスワードをクリア・テキストで表示しています。通常はWLSTコマンドにクリア・テキストのパスワードを入力しないでください。特に、クリア・テキストのパスワードが含まれるWLSTスクリプトをディスクに保存することは避けてください。このような状況では、暗号化されたパスワードを渡すメカニズムをかわりに使用する必要があります。WebLogic Scripting Toolの理解のWLSTのセキュリティに関する項を参照してください。サーバーID証明書の使用の復元
アウトバウンドSSL接続用にサーバー・アイデンティティ証明書の使用を復元するには、SSLMBean.UseClientCertForOutbound
属性をfalse
に設定するWLSTコマンドを指定します。
次の点に注意してください。
-
SSLMBean.ClientCertPrivateKeyPassPhrase
属性およびSSLMBean.ClientCertAlias
属性の値は永続化され、次にクライアントIDを使用してアウトバウンド双方向SSL接続が行われるとき(次にSSLMBean.UseClientCertForOutbound
属性がtrue
に設定されるとき)に使用されます。 -
アウトバウンドSSL接続のクライアント証明書の指定に使用されるSSLMBean属性は、WebLogic Server管理コンソールからは使用できません。