openssl配置问题,它只允许root用户正确验证web服务器证书
问题描述:
当我检查我的raspbian系统上的web服务器的SSL证书链时,例如,通过运行openssl配置问题,它只允许root用户正确验证web服务器证书
openssl s_client -connect plumbr.eu:443
我碰到下面的错误输出:
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
...
然而,当我sudo
非常相同,则一切正常:
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL Wildcard, CN = *.plumbr.eu
verify return:1
...
这同样适用于其他几个我测试过的网站。我很确定这不是预期的行为。有人知道如何解决这个问题,或者至少有一个提示去哪里看?到目前为止,寻找现有的解决方案并不成功。
答
确保持有受信任证书的目录对每个人都具有读取权限。
在我的系统(Ubuntu的),其中AddTrust_External_Root.pem
所在的目录/etc/ssl/certs
有读权限:
$ ls -ld /etc/ssl/certs
drwxr-xr-x 3 root root 24576 mar 14 2016 /etc/ssl/certs
Stack Overflow是用于编程和发展问题的站点。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww
@jww是的,你是完全正确的,但我没有在askubuntu上得到答案(部分这应该是一个完美的地方...... :-( –
@TillKolditz--尝试[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)或者在Ubuntu Stack Exchange上开始赏金,[ Unix&Linux Stack Exchange](http://unix.stackexchange.com/)是非常敏锐的,他们可能会开始考虑文件系统的权限,你应该在提问时发布它们, – jww