Travis CI 上的 javax.net.ssl.SSLHandshakeException

标签 java android travis-ci robolectric

我有一个 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/

相关文章:

java - 如何在Java中实现Pluggable Adapter设计模式

java - 客户端服务器程序在循环后卡住了?

Java,我可以在同一个 if 语句中使用 toUpperCase 和 equals 吗?

android - 如何使用字节数组上传图像

android - 如何将android路径字符串获取到 Assets 文件夹中的文件?

docker - Travis CI - docker 镜像未推送到 dockerhub

python - 属性错误 : 'ParsedRequirement' object has no attribute 'req'

java - 将自定义 css 类附加到 SmartGWT 中 FormItem 的默认类

Android 在后台保持 Activity

ruby-on-rails - 在 Heroku 部署后触发 Travis 运行