首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用cloudflare oigin证书构建正确的CA链?

如何使用cloudflare oigin证书构建正确的CA链?
EN

Stack Overflow用户
提问于 2020-05-28 15:43:13
回答 1查看 3.2K关注 0票数 1

用例

这是我的用例:通过cloudflare (代理),我有一个可用的页面,我们称之为example.com。我用Cloudflare创建了一个原产地证书,并将其链接到我的nginx配置中,运行良好。Cloudflare在“完全”SSL模式下工作。现在,我希望基本上能够将127.0.0.1 example.com添加到我的/etc/hosts中,这样服务器本身就可以直接访问页面了(使用不同的域来绕过这个服务器上运行的软件并不是一个真正的选择)。

现在,很明显,当我curl -v https://example.com时,我会得到一个ssl错误。

我至今所做的一切

所以基本上,做了一些关于CA链的研究和学习等等。我找到了Cloudflare原产地根CA (Cloudflare文档,步骤4),并将它包含在我的nginx服务器的证书链中(基本上是他们为我生成的Cloudflare原产地证书,然后是根CA)。我还将根CA安装到/usr/share/ca-certificates (和/usr/local/share/ca-certificates)并运行dpkg-reconfigure ca-certificates,并将其正确地添加到/etc/ssl/certs dir中。到目前一切尚好?

结果:不管用。

进一步研究

我无意中发现了这个指南,我查看了下面的内容:

  • cert.pem是我颁发的Cloudflare证书
  • ca.pem是cloudflare根CA ( ecc文件)
代码语言:javascript
运行
复制
root@host:~/ssltest# openssl verify cert.pem
O = "CloudFlare, Inc.", OU = CloudFlare Origin CA, CN = CloudFlare Origin Certificate
error 20 at 0 depth lookup: unable to get local issuer certificate
error cert.pem: verification failed
root@host:~/ssltest# openssl x509 -noout -issuer -in cert.pem
issuer=C = US, O = "CloudFlare, Inc.", OU = CloudFlare Origin SSL Certificate Authority, L = San Francisco, ST = California
root@host:~/ssltest# openssl x509 -noout -issuer -in ca.pem
issuer=C = US, ST = California, L = San Francisco, O = "CloudFlare, Inc.", OU = CloudFlare Origin SSL ECC Certificate Authority
root@host:~/ssltest# openssl verify -CAfile ca.pem cert.pem
O = "CloudFlare, Inc.", OU = CloudFlare Origin CA, CN = CloudFlare Origin Certificate
error 20 at 0 depth lookup: unable to get local issuer certificate
error cert.pem: verification failed

因此,cert.pem的发布者和ca.pem的主体基本上是不匹配的。这对我来说意味着:要么有一个我不知道如何获得的中级证书,要么Cloudflare给了我一个不是他们给我的根CA的证书。

此外,发行者和被调查人之间的差别也非常小:

  • CloudFlare Origin SSL Certificate Authority
  • CloudFlare Origin SSL ECC Certificate Authority

我能做些什么来解决这个问题?我可能只是没看到什么,有人能帮我吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 17:19:55

在您所指的站点上提供了两个CA证书:

第一个是具有OU "CloudFlare原产地SSL证书颁发机构“的RSA证书。秒一是ECC证书OU "CloudFlare原产地SSL证书颁发机构“。

看起来您获得了ECC证书,而您应该获得RSA证书。

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

https://stackoverflow.com/questions/62068801

复制
相关文章

相似问题

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