首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得本地颁发者证书

无法获得本地颁发者证书
EN

Server Fault用户
提问于 2017-11-28 14:51:57
回答 2查看 3K关注 0票数 0

我负责运行apache的web服务器,它承载了大约15个不同的站点。现在,一个站点需要与另一个站点通信,我们的开发人员试图使用PHP通过curl连接到它。这不管用。我试图通过以下方法在命令行中调试它:

代码语言:javascript
复制
curl --verbose https://deutsche-unterstuetzungskasse.de

它给了我错误60 (在主题标题中),这是相当奇怪的b/c与所有其他页面的工作。

更详细:

代码语言:javascript
复制
* About to connect() to deutsche-unterstuetzungskasse.de port 443 (#0)
*   Trying 195.244.228.197...
* connected
* Connected to deutsche-unterstuetzungskasse.de (195.244.228.197) port 443     (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection #0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html
...

我们所有的页面都配备了一个有效的ssl证书,以及一个不能工作的ssl证书。唯一的区别似乎是这个没有通配符证书。如果我设置curl选项--cacert /etc/ssl/certs/ca-certificates.crt,它工作得很好,但它并不能真正解决问题。在这里,详细的输出:

代码语言:javascript
复制
* About to connect() to deutsche-unterstuetzungskasse.de port 443 (#0)
*   Trying 195.244.228.197...
* connected
* Connected to deutsche-unterstuetzungskasse.de (195.244.228.197) port 443     (#0)
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
*        subject: C=DE; postalCode=22303; ST=Hamburg; L=Hamburg; street=Barmbeker Stra�e 2-6; O=Cevo Systemhaus AG; OU=IT; CN=deutsche-unterstuetzungskasse.de
*        start date: 2017-10-19 00:00:00 GMT
*        expire date: 2019-01-17 23:59:59 GMT
*        subjectAltName: deutsche-unterstuetzungskasse.de matched
*        issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Organization Validation Secure Server CA
*        SSL certificate verify ok.
> GET / HTTP/1.1
> User-Agent: curl/7.26.0
> Host: deutsche-unterstuetzungskasse.de
> Accept: */*
> 
...

有人能帮我吗?我的知识已接近尾声

编辑:

因此,我做了一些进一步的研究,并发现这个整洁的SSL服务器测试:

https://www.ssllabs.com/ssltest/analyze.html?d=deutsche-unterstuetzungskasse.de

这似乎表明了我的问题。服务器以某种方式将*c-core.de作为第二个证书中的替代名称。我怎么才能解决这个问题?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-11-29 15:07:11

我设法解决了这个问题!正如西蒙格林伍德所说,这可能与旧软件有关,这是事实,但卷曲已经是最新的。我升级了Apache和openssl,然后出现了另一个错误:

“已在哈希表中的证书routines:X509_STORE_add_cert:cert”

我在谷歌或其他地方找不到很多,但在某个地方有人说

代码语言:javascript
复制
c_rehash

能解决这个问题。最终还是成功了!我仍然有一个问题,在证书中的错误名称,但它似乎不再麻烦卷曲进一步。

票数 1
EN

Server Fault用户

发布于 2017-11-28 15:47:49

通配符证书是否来自同一发行人?从证据上看,您似乎没有一个有效的Comodo CA。在您的apache配置中,通常会有SSLCertificateFile和SSLCertificateChainFile的设置,所以请检查。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/885536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档