- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经从一台服务器迁移到一台新服务器。我为我的移动应用程序使用 PHP 网络服务来访问数据库中的数据。我已经安装了 SSL 证书,web 服务在浏览器和 iphone 应用程序(使用 ASIHTTPRequest 库)上运行良好。但是 android 应用程序不会加载同一服务的数据。如此调试,这是我得到的错误。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1868)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1337)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:998)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1321)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1305)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1087)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
at com.turnkey.maths.Test.main(Test.java:60)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1319)
... 12 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
... 18 more
这是我用来收集数据的方法
try
{
HttpURLConnection connection;
OutputStreamWriter request = null;
URL url = null;
String parameters = "query=SELECT * from table;";
url = new URL("https://www.domain.com/weservice/index.php?");
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestMethod("POST");
request = new OutputStreamWriter(connection.getOutputStream());
request.write(parameters);
request.flush();
request.close();
String line = "";
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
BufferedReader reader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
String response = sb.toString();
isr.close();
reader.close();
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
没有 https 的网络服务链接正常。我已按照 this 的说明进行操作回答,但这没有帮助。知道 Web 服务或 Java keystore 有什么问题吗?谢谢
最佳答案
几个月前我遇到过类似的问题。域的 ssl 证书未正确安装。基本上,服务器管理员为 domain.com 安装了证书,我使用的是链接 https://www.domain.com/index.php这引起了问题。当我在没有 www 的情况下进行检查时,它起作用了,所以我要求我的服务器管理员为 www.domain.com 重新安装 SSL 证书,之后我就能够访问安全链接上的数据。我希望它有帮助干杯
关于java - 太阳.security.validator.ValidatorException : PKIX path building failed: unable to find valid certification path to requested target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611189/
我收到以下错误。我将发布我正在做的代码明智的事情,然后将发布堆栈跟踪,我一直在努力寻找足够的信息来修复。我正在使用自签名证书。 SSLContext sslContext = null;
我拿了以下BalusC kickoff example并通过添加提交按钮和其他 h:messages 并删除 f:ajax 对其进行了修改。来自 h:inputSecret's (由于某种原因删除了
从星期一开始,我面临与sun.security.ValidatorException相关的问题。在上周一之前,一切正常。 异常(exception)是: 配置根项目“CoreApp”时发生问题。 Co
当我使用 Primefaces Maven 存储库时出现以下异常 mvn clean spring-boot:run [ERROR] Failed to execute goal on project
我正在尝试在 Ubuntu 16.04 上使用 sbt,但是在尝试运行它时出现错误。我进行了全新安装,然后完全按照 the sbt site 中的说明进行操作。 ,但是当我做 sbt 时得到以下信息:
我正在使用gradle构建springboot项目,但是gradle负载依赖性始终不好。错误如下: FAILURE: Build failed with an exception. * What we
我正在使用 REST Assured,但是当我尝试发送请求时,出现以下错误:- javax.net.ssl.SSLHandshakeException:sun.security.validator.V
我有一个用 Java 编写的 RESTful 客户端,用于使用 SSL 的 Web 服务。该应用程序已经运行了几个星期。突然之间,所有与 Web 服务进行交易的尝试都会导致以下异常: sun.secu
我目前代表一位正在度假的同事。他负责的一个应用这几天一直报如下错误。 Error: IOException sun.security.validator.ValidatorException: PKI
我正在研究中央认证系统 (jasig.org) 以实现单点登录功能对于我的 Intranet Web 应用程序。我有两个 tomcat 实例在我的同一台机器(windows)上运行。两个 tomcat
为了对我的 xmpp 堆栈进行集成测试,我在本地主机上设置了一个 vysper 服务器 (0.7)。现在我想使用版本 4.0.2 中的 smack-core 和 smack-tcp 连接到服务器。 问
我低于异常 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.ce
以前,我可以成功地向 Web 服务发送请求并接收响应,但它现在返回以下异常。根据其他答案,我需要更新证书,但我需要知道为什么我现在收到此异常。另一个问题是,我可以找到我的 java_home 的地址,
创建了一台 Azure SQL Server 计算机,我能够进行 rdp 并通过本地 SQL Server Mgt Studio 客户端进行连接。 但是,我无法使用下面的连接字符串通过 Java 代码
DataGrip 无法连接到我的 Postgres 实例,但我可以通过终端上的 psql 正常连接: psql -h dbhost.com reps username >Password for us
我已经使用此命令创建了 CSR 请求: openssl req -out certificatecsr.csr -new -newkey rsa:2048 -keyout certificatekey
我们所处的场景是,公司代理正在解密所有 HTTPS 流量,并使用 Java 不信任的 CA ROOT 对其进行重新签名。 我们还面临无法修改 Java 目录中的 cacerts 文件的情况。 我们在许
org.apache.axis2.AxisFault:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provid
我在服务器上安装了 apache、Tomcat7,我的请求从 apache 重定向到 tomcat。我在 apache 上安装了 SSL。我在我的应用程序中使用 goole api 进行一些身份验证。
我的公司运行一个用 ColdFusion MX7.0.2 构建的旧应用程序,运行 Java 1.4.2。我无法升级 ColdFusion,因为 CyberSource 不支持任何高于 MX7 的版
我是一名优秀的程序员,十分优秀!