当前位置: 首页 > 知识库问答 >
问题:

Java->Flask Https请求:javax.net.ssl.SSLHandshake异常:PKIX路径构建失败

钦侯林
2023-03-14

因此,我正在尝试向我的Flask应用程序发送HTTPS请求。以前,它只使用HTTP就成功地工作了。现在,我想把它改成HTTPS。

但不幸的是,它并不起作用。在我的Java IDE和Python IDE中,我会遇到以下错误:

javax.net.ssl.SSLExc0019:不支持或无法识别的SSL消息(Java客户端)

代码400,消息错误请求版本(“\x1bè\x13\x16)…和“ˆòÎ×ý›tYè

我发送请求的代码是:

URL myURL = new URL(requestUrl);
HttpsURLConnection connection = (HttpsURLConnection) myURL.openConnection();
connection.setRequestMethod("GET");
System.out.println(connection.getResponseCode());
...

基本上,我只是将我的连接对象更改为Https,并且还修改了URL字符串以使用“https”代替。它与HTTP完美合作,现在,没有什么可以与HTTPS合作。

我需要做什么才能让它与HTTPS一起工作?

编辑:在我的烧瓶应用程序中,我更改了应用程序。运行也包括参数ssl_context='adhoc'。现在我有一个不同的例外:

javax。网ssl。SSLHandshakeException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径

共有1个答案

韩瀚
2023-03-14

ssl\u context='adhoc'是正确的方法。

这将生成一个自定义SSL证书,您可以通过https访问Flask应用程序。

但是

由于此证书是自签名的,您的客户端(浏览器、卷曲或Java应用程序)不信任该证书。

这就是为什么您会收到错误消息。

看看下面的博客文章,了解更多你可以做的事情:

https://blog.miguelgrinberg.com/post/running-your-flask-application-over-https

 类似资料:
  • 当我从Java中的Windows(JDBC)连接Linux Oracle服务器时遇到以下错误,请问如何解决这个错误。 java.sql.SqlRecoverableException:Io异常:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderE

  • 当我尝试连接到商店时,我得到了这个异常。 在我浏览论坛时,这个错误的解决方案是将证书添加到所用JVM的信任库文件中。 问题是,我是新来的,我不知道我应该如何准确地做到这一点:我应该在哪里获得证书,如何添加证书? 名词(noun的缩写)b:我注意到当我使用main方法运行这个程序时,它工作得很好!但是当我设置一个调度程序来自动调用这个方法时,我就得到一个异常。 非常感谢你的帮助。 例外情况是:

  • Sun.Security.Validator.ValidatorException:PKIX路径生成失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径;嵌套异常为javax.net.ssl.sslHandShakeException:Sun.Security.Validator.Validator

  • 我刚刚为我们的域名购买了一个新的通配符ssl证书,因为我们的旧证书即将到期。我已经将它安装在我们的cas服务器和应用服务器上,但是我在我们的应用服务器上得到以下堆栈跟踪: 两个服务器上的证书是相同的。

  • 我正在使用一个自定义的工件库来部署我的项目。当我在本地机器上工作时,这很好,但我已经启用了Gitlab的AutoDevOps功能,并将我的项目与Kubernetes集群集成。 kubernetes集群由rancher管理。 问题是在Gitlab上运行的构建失败并出现以下错误: 插件org.apache.maven。插件:maven resources插件:2.6或其一个依赖项无法解析:无法读取or

  • 问题内容: 将我的应用程序从Windows 2000迁移到Windows 2008 R2 Server之后,我一直在努力运行我的应用程序近一周。 步骤: 已安装Java JDK 1.7.0_25 将系统环境变量设置为 使用以下命令将证书导入到cacerts中 确保证书存在于中。 我尝试重复执行 步骤3 ,以确保我没有弄乱任何东西。 上面的方法不能解决我的问题,所以我尝试以编程方式做到这一点: 仍然