我有一个 android 项目,我试图在 Travis CI 上进行测试,但是当运行 Robolectric (v3.2.2
) 测试时,我得到:
com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Algorithm constraints check failed on signature algorithm: SHA256WithRSAEncryption
这只发生在 Travis 上,不会发生在我的本地机器 (MacOS Sierra) 上。
关于如何修复/解决此错误的任何线索?另外,请让我知道您想查看的任何文件/设置/等。
最佳答案
将您的证书导入新的 cacerts 文件
$cp $JAVA_HOME/jre/lib/security/cacerts $JAVA_HOME/jre/lib/security/jssecacerts
$keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/jssecacerts -storepass changeit -noprompt -alias {cert alias} -file {cert file}
重新启动应用程序。
关于Travis CI 上的 javax.net.ssl.SSLHandshakeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46671183/