如果我HttpsURLConnection
通过打开与https://www.google.com/java.net.URL
的连接来打开 a,Java 如何决定是否信任证书链?
是否有某种默认值硬编码到 API 中?
如果我HttpsURLConnection
通过打开与https://www.google.com/java.net.URL
的连接来打开 a,Java 如何决定是否信任证书链?
是否有某种默认值硬编码到 API 中?
出于开发目的,您可以将自签名证书添加到 Java 受信任的 X509 证书存储库,例如:
cd PathToJRE/lib/security
sudo keytool -import -keystore cacerts -alias anAlias -file aCertificat
默认密码是changeIt
但不推荐用于生产,您会遇到错误定义证书等错误。您可以创建一些实用程序类来处理 TrustManager 和 HostnameVerifier
有一个带有 Java 安装的Truststore 。您可以使用 Oracle 的keytool查询已安装的证书(我认为密码为空,或“changeit”)。
JRE 的安全文件夹中有一个文件 cacert,其中包含默认证书