2011-11-09 117 views
2

是否可以通過編程方式控制Tomcat在SSL協商期間提供的證書?我有一個非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); 

我還沒有嘗試過自己,但它應該工作。

相關問題