在我的 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