https请求出现sun.security.validator.ValidatorException: PKIX path building failed
百度了一下总体说来是安全证书的问题,ssl过期什么的
使用小米推送的SDK,人家SDK的底层使用了https的request,在我的电脑上运行没有问题,但是放在服务器上跑就出现问题了
对于https请求这一块确实不是很了解,求各位大神支招啊
代码是C#的,SDK是JAVA的,使用的ikvm将JAVA的包转成了dll使用
报错代码:
2016-10-13 16:35:01,421 [ERROR] java.io.IOException: Failed to send http request after 1 attempts: remote server c3.api.xmpush.xiaomi.com(123.125.102.38)
Exception 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
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
sun.security.ssl.AlertsgetSSLException (Alerts.java:193)
sun.security.ssl.SSLSocketImplfatal (SSLSocketImpl.java:-1)
sun.security.ssl.HandshakerfatalSE (Handshaker.java:276)
sun.security.ssl.HandshakerfatalSE (Handshaker.java:270)
sun.security.ssl.ClientHandshakerserverCertificate (ClientHandshaker.java:1340)
sun.security.ssl.ClientHandshakerprocessMessage (ClientHandshaker.java:155)
sun.security.ssl.HandshakerprocessLoop (Handshaker.java:869)
sun.security.ssl.Handshakerprocess_record (Handshaker.java:806)
sun.security.ssl.SSLSocketImplreadRecord (SSLSocketImpl.java:1033)
sun.security.ssl.SSLSocketImplperformInitialHandshake (SSLSocketImpl.java:1328)
sun.security.ssl.SSLSocketImplstartHandshake (SSLSocketImpl.java:1355)
sun.security.ssl.SSLSocketImplstartHandshake (SSLSocketImpl.java:1339)
sun.net.www.protocol.https.HttpsClientafterConnect (HttpsClient.java:516)
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectionconnect (AbstractDelegateHttpsURLConnection.java:185)
sun.net.www.protocol.http.HttpURLConnectiongetOutputStream (HttpURLConnection.java:1092)
sun.net.www.protocol.https.HttpsURLConnectionImplgetOutputStream (HttpsURLConnectionImpl.java:250)
com.xiaomi.xmpush.server.HttpBasedoPost (HttpBase.java:195)
com.xiaomi.xmpush.server.HttpBase$1action (HttpBase.java:143)
com.xiaomi.xmpush.server.HttpBasehttpRequest (HttpBase.java:107)
com.xiaomi.xmpush.server.HttpBasedoPost (HttpBase.java:140)
com.xiaomi.xmpush.server.SendersendMessage (Sender.java:628)
com.xiaomi.xmpush.server.SendersendMessageNoRetry (Sender.java:459)
com.xiaomi.xmpush.server.SendersendToAliasNoRetry (Sender.java:266)
com.xiaomi.xmpush.server.SendersendToAlias (Sender.java:238)
com.xiaomi.xmpush.server.SendersendToAlias (Sender.java:215)
cli.Push.XiaoMi.XiaoMiPushSystempushMessageToApp (null:-1)
cli.PushTable.Program$$$003C$$003Ec__DisplayClass5<Main>b__0 (null:-1)
使用小米推送的SDK,人家SDK的底层使用了https的request,在我的电脑上运行没有问题,但是放在服务器上跑就出现问题了
对于https请求这一块确实不是很了解,求各位大神支招啊
代码是C#的,SDK是JAVA的,使用的ikvm将JAVA的包转成了dll使用
报错代码:
2016-10-13 16:35:01,421 [ERROR] java.io.IOException: Failed to send http request after 1 attempts: remote server c3.api.xmpush.xiaomi.com(123.125.102.38)
Exception 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
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
sun.security.ssl.AlertsgetSSLException (Alerts.java:193)
sun.security.ssl.SSLSocketImplfatal (SSLSocketImpl.java:-1)
sun.security.ssl.HandshakerfatalSE (Handshaker.java:276)
sun.security.ssl.HandshakerfatalSE (Handshaker.java:270)
sun.security.ssl.ClientHandshakerserverCertificate (ClientHandshaker.java:1340)
sun.security.ssl.ClientHandshakerprocessMessage (ClientHandshaker.java:155)
sun.security.ssl.HandshakerprocessLoop (Handshaker.java:869)
sun.security.ssl.Handshakerprocess_record (Handshaker.java:806)
sun.security.ssl.SSLSocketImplreadRecord (SSLSocketImpl.java:1033)
sun.security.ssl.SSLSocketImplperformInitialHandshake (SSLSocketImpl.java:1328)
sun.security.ssl.SSLSocketImplstartHandshake (SSLSocketImpl.java:1355)
sun.security.ssl.SSLSocketImplstartHandshake (SSLSocketImpl.java:1339)
sun.net.www.protocol.https.HttpsClientafterConnect (HttpsClient.java:516)
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectionconnect (AbstractDelegateHttpsURLConnection.java:185)
sun.net.www.protocol.http.HttpURLConnectiongetOutputStream (HttpURLConnection.java:1092)
sun.net.www.protocol.https.HttpsURLConnectionImplgetOutputStream (HttpsURLConnectionImpl.java:250)
com.xiaomi.xmpush.server.HttpBasedoPost (HttpBase.java:195)
com.xiaomi.xmpush.server.HttpBase$1action (HttpBase.java:143)
com.xiaomi.xmpush.server.HttpBasehttpRequest (HttpBase.java:107)
com.xiaomi.xmpush.server.HttpBasedoPost (HttpBase.java:140)
com.xiaomi.xmpush.server.SendersendMessage (Sender.java:628)
com.xiaomi.xmpush.server.SendersendMessageNoRetry (Sender.java:459)
com.xiaomi.xmpush.server.SendersendToAliasNoRetry (Sender.java:266)
com.xiaomi.xmpush.server.SendersendToAlias (Sender.java:238)
com.xiaomi.xmpush.server.SendersendToAlias (Sender.java:215)
cli.Push.XiaoMi.XiaoMiPushSystempushMessageToApp (null:-1)
cli.PushTable.Program$$$003C$$003Ec__DisplayClass5<Main>b__0 (null:-1)
...全文
相关推荐
java 发送https 请求 证书
: PKIX path building failed”这样的异常。
PKIX path building failed解决java获取https的时遇到的证书问题
: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
java开发https请求ssl不受信任问题解决方法
结论在 Java 开发中,使用 HTTPS 请求时可能会遇到 SSL 不受信任的问题。解决这个问题有两种方法:获得目标机器的有效证书或忽略证书信任问题。
Trusted Path Debugger:用于 PKIX 路径构建的 Java 调试器失败错误-开源
在 Java 中,在进行 HTTPS 连接时,人们通常会遇到以下异常堆栈跟踪: javax.net.ssl.SSLHandshakeException: sun.security.validator.
gradle-trust-all:一个用于禁用 SSL 证书验证的 gradle 插件
Gradle“信任所有”插件这个插件的诞生是为了一种快速而肮脏的方式,通过带有自签名证书的 HTTPS 使用 Maven 存储库。 在 gradle 中使用这样的存储库时,您可能会收到错误消息: E


