java - JAVA 6 中出现 SSL 异常,但 JAVA 8 中没有 SSL 异常

标签 java rest ssl jdk6

我尝试将 java 程序连接到 REST API。

使用相同的代码部分,我在 Java 6 中遇到了 Java 异常,并且在 Java 8 中运行良好。

环境相同:

  • 信任
  • 机器
  • unix 用户

代码:

import java.io.DataInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class MainClass {

    public static void main (String[] args){

        String serviceUrl = "https://api.domain.com" + "/endpont/path";
        try {
            URL url = new URL(serviceUrl);
            URLConnection connection = null;
            try{
                connection = url.openConnection();
                connection.setRequestProperty("Accept", "application/json");
                connection.setRequestProperty("Content-Type", "application/json");
                String body = "";
                String inputLine;
                DataInputStream input = new DataInputStream (connection.getInputStream());
                while (((inputLine = input.readLine()) != null)){
                    body += inputLine;
                }
                System.out.println(body);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}

Java 6 中的错误:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

有人知道它有什么不同吗?我可以使用一些技巧在 Java 6 中获得相同的结果吗?

证书的 CN 是通配符:“*.domain.com”。这可能是原因吗?

我尝试了几个API,但都使用了sun SSL层。您知道其他可以替代它吗?

最佳答案

JRE 有自己的 keystore ,where certificates can be stored 。也许您的 Java 6 的 JDK/JRE 具有与 Java 8 不同的 key 。

关于java - JAVA 6 中出现 SSL 异常,但 JAVA 8 中没有 SSL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60736176/

相关文章:

java - 无法使用 Eclipse 调试 Web 服务

REST API - 在 http 请求上发送 ID 的正确方法是什么?

java - Simpleframework 树反序列化时出现 java.lang.StackOverflowError

java - 如何从可以进行 html 校正和 js 脚本编写的浏览器获取 html 内容?

Java,正则表达式在带有约束的分隔符上分割字符串

Node.js API - 允许用户仅更新和删除自己的对象

ssl - 在应用程序级别的 WAS 中通过 HTTPS 配置 JAX-WS Web 服务

.htaccess - 通过 301 重定向将 HTTP 更改为 HTTPS 的正确方法?它会伤害我的 SEO 吗?

ios - 为什么使用 Alamofire 请求失败?

java - Android:如何安排后台服务重复运行