Certificates does not conform to algorithm constraints 解决方案

背景

原本好好的项目突然运行出现这个错误Certificates does not conform to algorithm constraints,代码什么都没修改

问题分析

证书不符合算法约束,那就是我们的jdk算法约束出现了点问题

解决步骤

  1. 在jdk的安装目录找到java.security文件,可参考于我的路径jdk1.8.1_121/jre/lib/security/java.security
  2. 修改jdk.tls.disabledAlgorithms
    这里可以修改成jdk.tls.disabledAlgorithms=,但这就意味着不限制加密算法,可用于排查错误,一般来说修改成这样是百分比能成功的。
    如果你清楚证书加密是使用了哪种具体的加密格式,如RSA算法,则可以设置具体的长度限制。比如你使用的RSA加密算法长度在1024以上,那就得限制1024以下的长度:jdk.tls.disabledAlgorithms=RSA keySize < 1024 这只是举个例子,具体其它的限制配置也可以加上的。
    一般来说,将tlsv1、tlsv1.1、3des_ede_cbs删除即可解决大部分人的问题,如果你不清楚要删除哪些,可以试一下
  3. 如果是修改了具体算法限制,还需要清除浏览器缓存,否则也会不生效的

未解之谜

我的配置在修改之后,清除缓存生效了,但是我明白之前为什么会出现这个问题,我将配置修改回来原本的配置,清除浏览器缓存,结果又能正常访问了。然后过了一个多小时之后,问题再一次出现。

问题解决

后来排错的时候,将jdk.certpath.disabledAlgorithmsjdk.tls.disabledAlgorithms中关于MD5的算法都去掉就成功了。由于我的系统接入别人的系统,证书编码格式不清除,所以只能一个个摸索。如果是自己的系统,知道域名证书的具体编码格式,那就好办多了,将编码格式移除即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spack 不会检查 SSL 证书。如果需要更新 Python 以启用此功能。 Spack 是一个用于构建和安装科学软件包的包管理器。它可以帮助用户在不同的计算环境中管理软件依赖关系和版本。然而,Spack 不会验证 SSL 证书。 SSL 证书是用于确保网络通信安全的一种数字证书。当使用 SSL(Secure Socket Layer)或 TLS(Transport Layer Security)加密协议进行网络通信时,验证 SSL 证书可确保通信的机密性和完整性。然而,Spack 并不会检查或验证 SSL 证书。 要启用 SSL 证书验证功能,您需要更新您的 Python 版本。Python 是一种流行的编程语言,也是许多科学软件包的基础。Python 提供了许多库和模块来进行网络通信,包括使用 SSL 进行安全通信的功能。 更新 Python 可以通过多种方式实现,具体取决于您使用的操作系统和安装环境。您可以通过升级到最新版本的 Python 来获得最新的功能和安全修复,从而启用 SSL 证书验证功能。您可以检查 Python 官方网站或相关社区网站以获取有关如何更新 Python 的详细指南。 请注意,启用 SSL 证书验证对于确保网络通信的安全性至关重要。特别是在处理敏感数据或进行重要操作时,使用 SSL 证书验证可提供额外的保障。因此,建议及时更新 Python 并启用 SSL 证书验证功能。 ### 回答2: Spack不会检查SSL证书。因此,如果你需要更新Python,你需要启用SSL证书验证功能。 SSL证书是用于验证与服务器之间的安全连接的数字证书。它确保了数据在传输过程中的加密和安全性。 当Spack在尝试与服务器建立SSL连接时,它不会验证服务器的SSL证书的有效性。这意味着,如果服务器的SSL证书过期、无效或来自不可信任的证书颁发机构,Spack无法识别这些问题。因此,这可能导致潜在的安全风险。 为了解决这个问题,你需要更新Python的配置,以启用SSL证书验证功能。在Python中,可以通过更新相关的库和配置文件,来启用SSL证书验证。 具体的步骤可能因你的操作系统和Python版本而异。一般来说,你可以执行以下步骤来更新Python的配置: 1. 确保你使用的是最新版本的Python。你可以访问官方Python网站,下载并安装最新的Python版本。 2. 更新pip(Python的软件包管理工具)到最新版本。你可以使用命令行运行"pip install --upgrade pip"来更新pip。 3. 安装所需的SSL证书库。对于大多数Linux发行版,你可以使用系统的软件包管理器(如apt、yum等)安装所需的库。对于Windows,你可以从官方网站下载OpenSSL库进行安装。 4. 更新Python的配置文件以启用SSL证书验证。在Python安装目录中,你可以找到名为"python.ini"或"openssl.cnf"的文件。打开该文件,并确保SSL验证功能已启用。 完成以上步骤后,你的Python应该已经更新并启用了SSL证书验证功能。这样,当Spack尝试与服务器建立SSL连接时,将能够正确验证服务器的SSL证书的有效性。 ### 回答3: Spack不会检查SSL证书。你需要更新你的Python环境以启用此功能。 SSL证书用于确认网络通信中的安全性,以确保数据在传输过程中不被窃取或篡改。Spack是一个包管理工具,它允许用户轻松安装和管理软件包,但它本身并不具备对SSL证书的检查功能。 要解决这个问题,你需要更新你的Python环境。Python是一种通用的编程语言,可以用于开发各种应用程序。更新Python可能涉及到升级Python解释器或安装新的Python版本。更新Python可以获得最新的功能和修复,其中也包括对SSL证书的检查和验证。 更新Python的方法取决于你所使用的操作系统和Python版本。一般来说,你可以通过访问Python的官方网站,下载最新的Python发行版。在安装过程中,你可以选择更新已有的Python安装,或者将新的Python版本安装到一个独立的目录中,以便与旧的Python版本并存。 一旦你更新了Python,Spack将能够检查和验证SSL证书,以确保在软件包安装过程中的安全通信。请注意,根据你的具体使用情况,可能还需要进行其他配置或安装相关的依赖库,以确保整个环境能够正常工作。 总之,要解决Spack不检查SSL证书的问题,你需要更新Python环境,并确保相应的功能和依赖库已经正确安装和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值