2011-11-09 8 views
2

SSLネゴシエーション中にTomcatが提示する証明書をプログラムで制御することはできますか?私は非JKS形式の証明書を持っていますが、現在はPKCS#12にエクスポートしてTomcatでロードしています。Tomcatが提示するSSL証明書をプログラムで制御する

Tomcatの実行中に提示された証明書を更新したいと思っていますが、これは再エクスポートと再起動を必要とします。これは避けたいものです。

カスタム証明書をロード/オーバーライド/アップデートするために使用できるプログラム関連の関係がTomcatにあるかどうかは知りませんか?

ありがとうございました。

答えて

3

完全なTomcatでは証明書のホットスワップができないと思うので、webappのコードでAPIを使用してコンテナの設定にアクセスすることはできません。しかし、もしあなたがembedded modeでTomcatを実行するなら、それを行うことができます。コンテナから古いHTTPコネクタを削除し、別の証明書で新しいコネクタを作成して初期化し、コンテナに追加する必要があります。

のTomcat 6で、それは次のようになり、次のようになります。

// your startup code 
Embedded embedded = new Embedded(); 
// setup context, host, executor etc. 
// ... 
// your reload certificate API call 
Connector con = createAndInitMyNewConnector(); 
embedded.removeConnector(oldCon); 
embedded.addConnector(con); 

私は自分自身を試していませんが、それが動作するはずです。