[精讚] [會員登入]
965

更新java版本後一定要做的事情

how to deal with PKIX path building failed issue after upgrade java sdk version in IDE

分享此文連結 //n.sfs.tw/14820

分享連結 更新java版本後一定要做的事情@外行中的外行
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-11-23 21:58:55 最後編修
2020-11-20 23:34:34 By jung
 

每次編譯器更新java sdk版本後,例如這次我從openjdk11.0.5升級到11.0.8

就會出現:javax.net.ssl.SSLHandshakeException: PKIX path building failed

編譯或執行時出錯

找到解法如下:

1.先下載該網站公開憑證

例如我想連到 google.com 透過 HTTPS執行程式或下載

使用openssl先產生該網站的crt憑證檔案

openssl s_client -connect google.com:443 -servername google.com:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > public.crt

2.再匯到jvm的cacert 中,這邊一定要找到jdk版本中keytool的絕對路徑

例如:/Library/Java/JavaVirtualMachines/adoptopenjdk-11-openj9.jdk/Contents/Home/bin/keytool

<JAVA_HOME>/bin/keytool -import -alias <server_name> -keystore <JAVA_HOME>/jre/lib/security/cacerts -file public.crt

 

這樣就可以解決了

參考文件

https://confluence.atlassian.com/kb/how-to-import-a-public-ssl-certificate-into-a-jvm-867025849.html

END

你可能感興趣的文章

testing gitlab and jenkins CI/CD on docker-1 在docker架設gitlab, jenkins 測試CI/CD pipeline第一章

使用virtualbox每次都忘記的事情 share folder from win host to linux guest vm

how to stop wildfly keeping standalone server log how to stop wildfly keeping standalone server log

using google Appscript to send messages through LINE NOTIFY 使用google app script傳送LINE NOTIFY

specific instructions to create a maven archetype from local existing project. Generate an archetype from the project

在intellij IDEA解決檔案內容顯示為UTF-8字碼而不是中文的問題 how to show correct language content of file, instead of utf-8 encoded charactors

隨機好文

debian安裝drupal細節 設定apache2的細節

nginx+ssl+certbot安裝設定雜記 using certbot on nginx to setup https connection

installation and implementation of k8s clusters on CentOS8 k8s入坑

using google Appscript to send messages through LINE NOTIFY 使用google app script傳送LINE NOTIFY

logrotate執行權限問題 logrotate will failed to execute if selinux policy not setup correctly