在这里完全同意@Sid。请不要在 android 上添加任何虚假的 klugey 代码来绕过 SSL 异常。完全违背了 SSL 的目的。
对于任何在通过 https 从 android 连接到 tomcat 服务器时遇到问题的人:
确保使用 CA 的根证书和中间证书进行链接。
我没有生成用于为我们的 CA GoDaddy 创建 CSR 的私钥,因此我必须在导入密钥库之前将密钥和证书转换为 pkcs12。注意 -chain 选项。很重要。
openssl pkcs12 -export -out mykey.pks -inkey private_key.key -in domain.crt -CAfile ca_intermed_root_bundle.crt -chain -name alias_name -passout stdin
(通过标准输入输入密码)
现在,将 mykey.pks 导入 java 密钥库
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore mystore.keystore -srckeystore mykey.pks -srcstoretype PKCS12 -alias alias_name
现在可以在 tomcat 8443 连接器中使用此密钥库:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/path../mystore.keystore"
keystorePass="changeit" keyAlias="alias_name"
/>
我在从 android 连接时重复了 SSLPeerUnverifiedExceptions,这完全修复了它。
最后,请使用http://www.sslshopper.com/ssl-checker.html 或任何其他工具验证证书是否正确链接。