亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

導出 java ca 證書,以便它可以從 go 中使用

導出 java ca 證書,以便它可以從 go 中使用

Go
尚方寶劍之說 2022-06-27 16:28:42
我需要將 java 服務與 go app 集成,可以將其配置為指定檢查 TLS 時使用的 CA 證書文件。我不熟悉go。Java REST 端點使用自簽名證書進行保護。我正在嘗試使用以下方式導出它keytool:keytool -export -alias rootca -file ca.crt -keystore cacerts該ca.crt文件可通過 keytool 本身使用以下命令進行檢查:keytool -printcert -v -file ca.crt現在,當我嘗試在 go 應用程序中使用這個文件時,它是prometheus,通過傳遞指向導出文件tls_config的值,我得到一個錯誤:ca_certerr="創建 HTTP 客戶端時出錯:無法使用指定的 CA 證書 /etc/prometheus/ssl/ca.crt"Prometheus 正在使用 go 的標準crypto/tls,所以我的問題是:我導出 Java 文件的方式是否正確且可用?如何將導出的 Java CA 文件轉換為 Go 能夠理解和使用的格式?
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

根據 的手冊頁keytool,在-exportcert命令下:

證書默認以二進制編碼輸出。

所討論的編碼是DER,它是證書數據的二進制表示。

但是,Go 標準庫需要PEM編碼,它只是 DER 數據的 base64 加上一些頁眉/頁腳。

你有(至少)兩個選擇:

告訴keytool以 PEM 格式導出

這是使用命令的-rfc標志來完成的-exportcerts。根據手冊頁:

如果指定了 -rfc 選項,則以 Internet RFC 1421 證書編碼標準定義的可打印編碼格式輸出。

RFC1421是用于 PEM 的。

從 DER 轉換為 PEM

這可以通過以下方式使用 openssl 來完成:

openssl -in exported_file.der -inform DER -out ca.crt


查看完整回答
反對 回復 2022-06-27
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號