使用任何应用程序升级 NSS 后,无法访问具有自签名证书的网站

使用任何应用程序升级 NSS 后,无法访问具有自签名证书的网站

我们最近将 NSS 从版本 3.44 ( nss-3.44.0-4.el7.x86_64) 升级到了版本 3.53 ( nss-3.53.1-3.el7_9.x86_64)。升级后,使用自签名证书的任何内部网站调用都会失败。我们在 curl 或尝试使用 GIT 等任何应用程序访问时看到以下错误 -

#When Curling
curl https://internalsite.com -k
curl: (35) security library: invalid arguments.

#When using GIt
git clone https://internalsite.com/stash/scm/repo/my_repo.git
Cloning into 'my_repo'...

fatal: unable to access 'https://internalsite.com/stash/scm/repo/my_repo.git/': security library: invalid arguments.

降级回 NSS 3.44 后,问题得到解决。如果我们访问未使用自签名证书的站点,它会按预期运行。

有人知道该如何解决吗?我读到的所有内容都表明这些更改是向后兼容的,所以我不明白为什么我们需要再次将证书导入 NSSDB。即使在导入之后,我也看到同样的错误。

在进行故障排除时,我将证书/密钥转换为 PK12(openssl pkcs12 -export -out certandkey.pfx -inkey /home/me/stuff/cert.key -in cert.pem),然后使用 导入pk12util -i certandkey.pfx -d sql:/etc/pki/nssdb。 执行此操作后,我仍然看到相同的问题。

谢谢。

答案1

我向 Redhat 提交了有关此问题的票据。我们的系统使用 FIPS,这会导致连接中断。

他们回复了以下文章,提供了更多信息 -

 "Why does curl return error (35) security library: invalid arguments?"
        https://access.redhat.com/solutions/5773011

简而言之,您正在连接的网站的密码套件正在尝试使用不符合 NIST 要求的算法。

一旦服务器尝试使用不符合要求的算法连接您,FIPS 将立即关闭该连接。

为了解决这个问题,你应该尝试在你访问的网站上运行 ssllabs -https://www.ssllabs.com/,并查看“密码套件”和“首选密码顺序”,并确保套件符合 NIST 指南(它们需要使用至少 256 长度的素数)。

相关内容