默认情况下,Java信任HttpsURLConnection的哪些证书?

默认情况下,Java信任HttpsURLConnection的哪些证书?,java,https,Java,Https,如果我通过打开一个java.net.URL连接来打开一个HttpsURLConnection,比如说,java如何决定是否信任证书链 API中是否有硬编码的默认值?有一个带有Java安装的Truststore。您可以使用Oracle的keytool查询已安装的证书(我认为密码为空,或“changeit”)。有一个Java安装的Truststore。您可以使用Oracle的keytool查询已安装的证书(我认为密码是空的,或“changeit”)。JRE的安全文件夹中有一个包含默认证书的文件cac

如果我通过打开一个
java.net.URL
连接来打开一个
HttpsURLConnection
,比如说,java如何决定是否信任证书链


API中是否有硬编码的默认值?

有一个带有Java安装的Truststore。您可以使用Oracle的keytool查询已安装的证书(我认为密码为空,或“changeit”)。

有一个Java安装的Truststore。您可以使用Oracle的keytool查询已安装的证书(我认为密码是空的,或“changeit”)。

JRE的安全文件夹中有一个包含默认证书的文件cacert

出于开发目的,JRE的安全文件夹中有一个包含默认证书的文件cacert,您可以向Java trusted X509证书repo添加自签名证书,如:

cd PathToJRE/lib/security
sudo keytool -import -keystore cacerts -alias anAlias -file aCertificat cd路径jre/lib/security
sudo keytool-import-keystore cacerts-alias anAlias-file acertificate 默认密码是changeIt


但是,对于不推荐的生产,您将遇到错误,如定义错误的证书等。您可以创建一些实用程序类来管理TrustManager和HostnameVerifier。出于开发目的,您可以向Java trusted X509证书repo添加自签名证书,如:

cd PathToJRE/lib/security
sudo keytool -import -keystore cacerts -alias anAlias -file aCertificat cd路径jre/lib/security
sudo keytool-import-keystore cacerts-alias anAlias-file acertificate 默认密码是changeIt

但对于不推荐的生产,您将遇到错误,如定义错误的证书等。您可以创建一些实用程序类来处理TrustManager和HostnameVerifier