簡體   English   中英

NewRelic java 代理無法識別.jks 信任庫

[英]NewRelic java agent unable to identify .jks trust store

我們正在使用 NewRelic java 代理來監控 java 應用程序。 該應用程序使用帶有 .jks 擴展名的自定義信任庫。 但是,默認情況下或通過顯式指定信任庫的路徑,代理不會識別信任庫並引發錯誤。

我們如何在不更改擴展名的情況下使用此信任庫,因為我們需要按原樣使用。

信息:使用 ca_bundle_path:D:\Java\jdk1.8.0_311\jre\lib\security\cacerts 2022-01-24T16:55:40,590+0530 [7048 1] com.newrelic 錯誤:無法生成 ca_bundle_path 證書。 驗證證書格式。 不會處理進一步的證書。 java.security.cert.CertificateException:無法解析證書:java.io.IOException:空輸入

Java 代理依賴於僅接受.pem文件的默認 X.509 CertificateFactory。

相關線路:

try (InputStream is = new BufferedInputStream(new FileInputStream(caBundlePath))) {
  CertificateFactory cf = CertificateFactory.getInstance("X.509");
  // ...
  caCerts.add((X509Certificate) cf.generateCertificate(is));
  // ...
}

https://github.com/newrelic/newrelic-java-agent/blob/f18215d145bd6992c0fe74a8c503459799e108ca/newrelic-agent/src/main/java/com/newrelic/agent/transport/apache/ApacheSSLManager.java#L54-L58

如果您可以為接受.pks文件的 X.509 CertificateFactory 覆蓋 SPI,您也許可以使用您的文件。

暫無
暫無

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

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