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 
... 

这同样适用于其他几个我测试过的网站。我很确定这不是预期的行为。有人知道如何解决这个问题,或者至少有一个提示去哪里看?到目前为止,寻找现有的解决方案并不成功。

+1

Stack Overflow是用于编程和发展问题的站点。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://*.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww

+0

@jww是的,你是完全正确的,但我没有在askubuntu上得到答案(部分这应该是一个完美的地方...... :-( –

+1

@TillKolditz--尝试[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)或者在Ubuntu Stack Exchange上开始赏金,[ Unix&Linux Stack Exchange](http://unix.stackexchange.com/)是非常敏锐的,他们可能会开始考虑文件系统的权限,你应该在提问时发布它们, – jww

确保持有受信任证书的目录对每个人都具有读取权限。

在我的系统(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