相关疑难解决方法(0)

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

我正在尝试使用twitter4j库为我的java项目发送推文.在我第一次运行时,我收到了关于证书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"
Run Code Online (Sandbox Code Playgroud)

但没有成功.这是获得twitters的过程:

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() + " …
Run Code Online (Sandbox Code Playgroud)

java jsp servlets twitter4j

350
推荐指数
18
解决办法
99万
查看次数

Java SSL - InstallCert识别证书,但仍然"无法找到有效的证书路径"错误?

我认为我和其他人一样遇到了同样的问题,我一直在经历众多类似的问题和潜在的解决方案,但没有运气.

我正在使用的信任库是cacerts,位于Java 1.6.0 JRE的lib/security中(构建1.6.0_20-b02 ......这可能是问题的根源吗?).我也尝试过jssecacerts.

使用InstallCert(发布其他类似的问题),我可以看到我的证书实际上已经安装并且有效(我已经删除它,重新导入它等,以确保我看到正确的数据):

java InstallCert <my host name>
Loading KeyStore jssecacerts...
Opening connection to <my host name>:443...
Starting SSL handshake...
No errors, certificate is already trusted
Run Code Online (Sandbox Code Playgroud)

检查keytool和Portecle,重新导入证书(我尝试使用-showcert从openssl生成,从浏览器导出并将其scping过来等)给了我"这已经存在于此处的其他别名下"类型信息.因此,证书进入工具的方式似乎没有任何问题.

在代码中强制显式的trustStore路径没有任何区别,并且在所有情况下,当我打开调试(通过javax.net.debug的setProperty到"all")时我最终看到的是:

main, SEND TLSv1 ALERT:  fatal, description = certificate_unknown
main, WRITE: TLSv1 Alert, length = 2 [Raw write]: length = 7 0000: 15
03 01 00 02 02 2E                               ....... main, called
closeSocket() main, handling 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 …
Run Code Online (Sandbox Code Playgroud)

java ssl ssl-certificate

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

jsp ×1

servlets ×1

ssl ×1

ssl-certificate ×1

twitter4j ×1