云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_阿里云流量计费标准_年度促销

小七 141 0

介绍CFSSL-CloudFlare的PKI工具包

今天,我们很荣幸地向大家介绍CFSSL,我们的开源工具包,可以处理TLS/SSL的所有内容。CloudFlare在内部使用CFSSL绑定TLS/SSL证书链,并用于我们的内部证书颁发机构基础设施。我们将此工具用于所有TLS证书。创建证书捆绑包对于网站运营商来说是一个常见的痛点,正确操作对于网站安全性和速度都很重要(CloudFlare两者兼而有之)。将正确的捆绑组合在一起是一门黑色的艺术,如果做得不正确,很快就会成为调试的噩梦。我们编写CFSSL是为了使捆绑更容易。通过选择正确的证书链,CFSSL解决了性能、安全性和兼容性之间的平衡问题。信守我们的承诺,使网络快速和安全,我们是开放源码的CFSSL。我们相信,从网站所有者到大型软件即服务公司,CFSSL将对任何使用HTTPS创建网站的人有用。CFSSL是用Go编写的,可以在CloudFlare Github帐户上使用。它可以用作带有JSON API的web服务,也可以用作方便的命令行工具。CFSSL是关于Web上TLS生态系统如何工作的实际专业知识的结果,您可以通过在CloudFlare的规模上工作来获得这些经验。这些都是来之不易的经验教训,应用于代码中。这篇博客文章的其余部分将深入了解CFSSL的工作原理和原因,以及如何将其用作证书绑定器或轻量级CA。

折扣返利-CloudFlare的PKI工具包

如上图所示,密钥归CloudFlare,Inc.所有,发行者是GlobalSign(一个著名的CA)。GlobalSign已经颁发了一个名为"GlobalSign Extended Validation CA-SHA256-G2"的证书;这个G2证书由另一个名为"GlobalSign Root CA-R2"的证书签名。请注意,根证书没有颁发者,它是由它自己的私钥签名的。换言之,根为自己担保。你的浏览器信任根证书的原因是浏览器有一个隐式信任的根证书列表,当一个站点被信任时,它会在网址的左边显示锁图标(见下图)。某些证书出现在列表中通常是因为它们已经存在了一段时间,并且它们属于经过严格安全审核的证书颁发机构。GlobalSign是其中一个受信任的授权机构;因此,它的根证书几乎在每个浏览器的受信任根证书列表中。什么是SSL证书?SSL证书通过确保网站的身份而成为web信任的核心。此信任是通过将加密密钥数字绑定到组织的标识来建立的。SSL证书将域名绑定到服务器名称,将公司名称绑定到位置。这可以确保,如果您访问银行的网站,例如,您肯定知道这是您的银行,并且您不会将您的信息泄露给网络钓鱼诈骗。证书是一个文件,其中包含绑定到其所有者记录的公钥。使这种绑定可信的机制称为公钥基础设施,而公钥加密是实现这一点的粘合剂。证书与单独存储的证书公钥对应的私钥相关联。该证书带有一个来自可信的第三方(称为证书颁发机构或CA)的数字签名cloudflare.com网站证书。

折扣返利-CloudFlare的PKI工具包

链中中间证书的长度可以不同,但链始终具有一个叶和一个根。

折扣返利-CloudFlare的PKI工具包

不幸的是,叶证书的所有者有一个问题:仅向浏览器提供叶证书通常是不够的。浏览器并不总是知道中间证书,因此需要网站将它们包含在leaf证书中。浏览器验证证书所需的证书列表称为证书束。它应该包含链中的所有证书,直到浏览器知道的第一个证书为止。对于CloudFlare网站,这个包包含两个cloudflare.com网站证书和GlobalSign G2中级证书。编写CFSSL是为了简化证书绑定。CFSSL如何简化证书绑定如果您正在运行一个网站(或者其他一些基于TLS的服务)并且需要安装证书,CFSSL可以为您创建证书捆绑包。从以下命令开始:$cfssl捆绑包-证书迈塞特.crt这将输出一个JSON blob,其中包含证书链以及从证书链中提取的相关信息。或者,您可以运行CFSSL服务,该服务使用JSON API响应请求:$cfssl服务这个命令在localhost上打开一个接受请求的HTTP服务。若要捆绑使用此API,请向该服务发送POST请求,:8888/api/v1/cfssl/bundle,使用JSON请求,例如:{"证书":}CloudFlare的SSL服务将返回以下形式的JSON响应:{"result":{},"成功":没错,"错误":[],"消息":[],}(开发人员请注意:此响应格式是即将到来的CloudFlare API重写的预览;使用此API,我们可以将CFSSL用作证书绑定的服务,并进行更多调整。)