簡體   English   中英

將證書與https URL關聯

[英]Associate a certificate with a https url

我想連接到https://twitter.com/

URL url = new URL("https://twitter.com/");
HttpURLConnection uc1 = (HttpURLConnection) url.openConnection();

我驗證了我的信任庫和密鑰庫(及其密碼)的位置,沒關系。 我將Twitter證書和別名保存在密鑰庫和信任庫中。 我驗證了,它在里面。

我不知道如何將url與我保存的證書鏈接; 我得到錯誤:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我該怎么做?

****** UPDATE ********

我已經使用setProperty設置了信任庫和密鑰庫。 當我在控制台上執行keytool -list -keystore .keystore時,我得到

...

twittercert,2歲。 2017年,trustCertEntry,Empreinte du certificat(SHA1):10:F0:40:F2:93:7F:E0:69:2D:C1:B9:8C:8B:32:CC:E0:1E:43:82:52

...

與keytool -list相同

Twitter證書由DigiCert頒發,作為JVM的默認信任庫中的受信任根包含在內,因此您無需進行任何配置。

如果已配置自己的JKS信任庫,則可能配置錯誤。 確保使用System.setProperty-D VM參數為信任庫設置了正確的路徑。

System.setProperty("javax.net.ssl.trustStore", trustStorePath); 
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword)

還要驗證信任庫是否包含Digicert的證書

更新后請注意,您發布的Twitter證書的SHA-1指紋不等於今天提取的SHA-1指紋。 可能您有舊副本?

在此處輸入圖片說明

避免將此導入根目錄CA而不是葉證書的信任庫

暫無
暫無

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

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