JavaLite错误请求HTTPS RESTful时失败的URL

时间:2018-03-23 04:46:57

标签: rest javalite

我正在使用JavaLite实现,并且在请求HTTP服务时一切正常但在尝试从服务的HTTPS版本获取数据时,我得到了HttpException" Failed URL"

这是我的代码:

String test = Http.get(url + "/eds/api/v1/certificados").header("Authorization", "Basic " + Credentials).header("APIKey", APIKey).header("Accept", "application/json").text();

还尝试了

{{1}}

两者的行为方式相同,如果URL是HTTP我可以获取数据,如果URL是HTTPS catch" Failed URL"。我已经使用SOAPui测试了REST服务,并且HTTPS服务器工作正常。

尝试使用标头在HTTPS上发送GET时,我有什么建议吗?

先谢谢了。 路易斯

1 个答案:

答案 0 :(得分:0)

我打算建议该网站的数字证书未由Java JRE证书存储中包含的证书颁发机构签名。

以下是您可以做的事情:

  1. 使用浏览器浏览网站证书,包括证书链,一直到根证书颁发机构
  2. 了解本地安装的CA证书。
  3. Java的文件是:

    $JAVA_HOME/jre/lib/security/cacerts
    

    您需要运行此命令:

    keytool  -list -keystore cacerts
    

    提示输入密码时,只需按Enter键即可。

    如果您没有看到用于签署网站证书的CA证书,则会出现此错误。

    如何解决:

    1. 使用众所周知的CA获取您站点的证书,并确保它已存在于您的Java证书数据库中。
    2. 或:

      1. 使用浏览器从站点获取证书,并使用以下命令将其导入本地Java数据库:

        keytool -importcert ...

      2. 有关keytool计划的更多信息:

         keytool --help