“ PKIX路径构建失败”和“无法找到到所请求目标的有效证书路径”

讲师:

我正在尝试为我的Java项目使用twitter4j获取推文在我的第一次跑步中,我得到了关于证书sun.security.validator.ValidatorException的错误sun.security.provider.certpath.SunCertPathBuilderException然后我通过以下方式添加了Twitter证书:

C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PathToCert -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts"

但是没有成功。这是获取推文的过程:

public static void main(String[] args) throws TwitterException {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
        .setOAuthConsumerKey("myConsumerKey")
        .setOAuthConsumerSecret("myConsumerSecret")
        .setOAuthAccessToken("myAccessToken")
        .setOAuthAccessTokenSecret("myAccessTokenSecret");

    TwitterFactory tf = new TwitterFactory(cb.build());
    Twitter twitter = tf.getInstance();

    try {
        Query query = new Query("iphone");
        QueryResult result;
        result = twitter.search(query);
        System.out.println("Total amount of tweets: " + result.getTweets().size());
        List<Status> tweets = result.getTweets();

        for (Status tweet : tweets) {
            System.out.println("@" + tweet.getUser().getScreenName() + " : " + tweet.getText());
        }
    } catch (TwitterException te) {
        te.printStackTrace();
        System.out.println("Failed to search tweets: " + te.getMessage());
    }

这是错误:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Relevant discussions can be found on the Internet at:
    http://www.google.co.jp/search?q=d35baff5 or
    http://www.google.co.jp/search?q=1446302e
TwitterException{exceptionCode=[d35baff5-1446302e 43208640-747fd158 43208640-747fd158 43208640-747fd158], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.5}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:81)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1929)
    at twitter4j.TwitterImpl.search(TwitterImpl.java:306)
    at jku.cc.servlets.TweetsAnalyzer.main(TweetsAnalyzer.java:38)
Caused by: 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(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
    at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
    at sun.security.ssl.Handshaker.processLoop(Unknown Source)
    at sun.security.ssl.Handshaker.process_record(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.net.HttpURLConnection.getResponseCode(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
    at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:34)
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:141)
    ... 5 more
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(Unknown Source)
    at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
    at sun.security.validator.Validator.validate(Unknown Source)
    at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
    ... 20 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
    at java.security.cert.CertPathBuilder.build(Unknown Source)
    ... 26 more
Failed to search tweets: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
MagGGG:
  1. 在浏览器中转到URL:
    • firefox-单击HTTPS证书链(URL地址旁边的锁定图标)。点击"more info" > "security" > "show certificate" > "details" > "export.."提取名称并选择文件类型example.cer
    • chrome-单击左侧的站点图标以在地址栏中输入地址,选择“证书”->“详细信息”->“导出”,然后以“ Der编码的二进制单证书”格式保存。
  2. 现在,您有了带有密钥库的文件,并且必须将其添加到JVM中。确定cacerts文件的位置,例如。C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts.

  3. 接下来,example.cer在命令行中将文件导入到cacerts中:

keytool -import -alias example -keystore C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts -file example.cer

系统将要求您输入密码,默认密码为 changeit

重新启动您的JVM / PC。

来源:http//magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

HtmlUnit-PKIX路径构建失败:无法找到到请求目标的有效证书路径

JavaMail中的错误:PKIX路径构建失败,无法找到到请求目标的有效证书路径

Maven错误,PKIX路径构建失败:无法找到请求目标的有效证书路径

PKIX路径构建失败:无法找到请求的目标的有效证书路径-导入的CERT

JDK8-> JDK10:PKIX路径构建失败:SunCertPathBuilderException:无法找到到请求目标的有效证书路径

Maven是“无法找到到所请求目标的有效证书路径”-letsencrypt ssl证书

PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径

PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径?

Spring工具套件-SunCertPathBuilderException:无法找到到请求目标的有效证书路径

Java 11 SSL异常:无法找到到请求目标的有效证书路径

无法找到到请求目标的有效证书路径-Java

CAS SunCertPathBuilderException:无法找到到请求目标的有效证书路径

无法使用Quarkus找到到所请求目标的有效认证路径

突然“无法找到到所请求目标的有效认证路径”

骆驼组件测试中的“无法找到到所请求目标的有效认证路径”

Maven:无法找到到所请求目标的有效认证路径

无法找到到请求目标的有效证书路径-即使导入证书后也会出错

在Java中验证证书会引发异常-无法找到到请求目标的有效证书路径

尝试通过https请求使用SMS API时,无法找到到请求目标的有效证书路径

原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径

Akka HTTP客户端抛出SSLHandshakeException,并且无法找到到请求目标的有效证书路径

Android服务器应用程序:SSLHandshakeException(无法找到到请求目标的有效证书路径)

SunCertPathBuilderException:无法在CN1应用中找到到请求目标的有效证书路径

“无法找到到所请求目标的有效认证路径”,但浏览器表示可以

CFHTTP无法找到到请求目标的有效认证路径

错误:原因:无法找到到请求目标的有效认证路径

Grails create-app无法找到到请求目标的有效认证路径

Jahia:无法在错误的本地POM上找到到请求的目标和'parent.relativePath'点的有效证书路径

Java证书客户端SSL:无法找到请求的目标的有效证书路径