ssl 仅 root 能够验证第一个证书

ssl 仅 root 能够验证第一个证书

在我的 Ubuntu 16.04 中,我可以成功导入根 CA,但第一个证书只能由 root 验证。

是否可以让其他用户验证根 CA?

我是这样做的:首先将 .crt 文件复制到/usr/share/ca-certificates,然后:

sudo dpkg-reconfigure ca-certificates
sudo update-ca-certificates

具有/usr/share/ca-certificates-ca.crt权限模式 754 (-rwxr-xr--)。我的/etc/ssl/certs/ca-certificates.crt具有权限模式 644 (-rw-r--r--)

非 root 用户的 openssl s_client 验证仍然导致:

Verify return code: 21 (unable to verify the first certificate)

还有其他想法可能导致问题的原因吗?之后,我能够验证第一个证书,但只能以 root 身份验证。

我怎样才能让其他用户验证这一点?

答案1

如果只有root可以使用新证书,则可能是您没有授予新证书文件的读取权限。

你可以通过运行来检查ls -lsa /usr/share/ca-certificates/new-cert-name.crt,看看其他人是否有read permission

如果没有,您可以read permission使用以下方式添加到证书中

sudo chmod +r /usr/share/ca-certificates/new-cert-name.crt

注意:将证书文件名更改为您正在使用的文件名

您还应该确保您可以访问/etc/ssl/certs/ca-certificates.crt,例如检查您是否可以以非 root 用户身份读取其数据:

cat /etc/ssl/certs/ca-certificates.crt

使用检查其权限

ls -lsa /etc/ssl/certs/ca-certificates.crt

如果缺少,则授予读取权限:

sudo chmod +r /etc/ssl/certs/ca-certificates.crt

相关内容