簡體   English   中英

tomcat 將證書添加到信任庫

[英]tomcat add certificate to truststore

我在 kuberneties 集群上部署了 java web 應用程序,並在 tomcat (tomcat:9.0.37) 容器上運行。 我的應用程序與 ABC API 連接,為了連接到 ABC API,我需要在我的信任庫中有 ABC API 證書。 對於我的本地測試,我可以使用 keytool 命令將證書添加到我的 JRE cecart 中,如下所示的命令keytool -importcert -alias startssl -keystore /usr/local/openjdk-8/jre/lib/security/cacerts -storepass changeit -file ABC.cert但我想知道這是將證書添加到信任存儲的唯一方法還是我可以在信任存儲中添加證書的其他方式。

首先,如果您希望SSL/TLS 的默認信任庫其他目的不同,但仍適用於 JRE,則可以使用(JRE)/lib/security/jssecacerts而不是(JRE)/lib/security/cacerts 與由 JRE 包或平台填充的具有眾多常見 CA 的 cacerts 不同,jssecacerts 一開始是空的; 如果您想要任何常見的 CA,則必須明確添加它們,可以選擇從 cacerts 中逐個復制或僅復制整個 cacerts 文件。 我不知道你會不會把這算作“其他”。

其次,您可以使用系統屬性javax.net.ssl.trustStore*更改JVM 實例的默認信任庫; 請參閱文檔(第二個表中的幾頁,表 8-3),更具體地說是這個從屬部分

第三,對於 JVM 中的特定連接(或有時是連接組),您可以在創建連接的代碼中指定不同的信任庫; 該方法因創建連接的不同方式而異,您沒有確定。 直接使用SSLSocketSSLEngine是一回事; java.net.UrlConnectionjava.net.http.HttpClient (在 j11+ 中)是不同的; 像 Apache 或許多其他中間件又有所不同。 與其花幾個小時試圖寫出所有可能的選項,其中大部分都會被浪費掉,我會讓你再問一次你是否想要這個。 在 StackOverflow 的口頭禪中,“展示你的代碼”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM