前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >域名数字证书安全漫谈(1)-证书长什么样子?

域名数字证书安全漫谈(1)-证书长什么样子?

作者头像
用户U2
发布2022-06-02 15:12:29
1.6K0
发布2022-06-02 15:12:29
举报
文章被收录于专栏:数据安全架构与治理

数字证书安全漫谈(1)-证书长什么样子?

我们以最常见的网站域名数字证书为例。

大家在电脑上登录网银、使用搜索引擎、使用网上支付的时候,会留意到浏览器的地址栏有个小锁标志(根据浏览器类型和版本的不同,小锁所显示的位置也有所不同):

通常来说这个小锁表示浏览器和所访问的网站之间是私密的连接(其实也不尽然)。

建立这个私密的连接通道,需要在Web服务器上部署一张数字证书。

数字证书已经逐步成为网站的标准配置,如果没有配置,则很可能会被浏览器的未来某个版本提示网站不安全,从而导致用户流失。此前Google就曾经宣传Chrome将不支持未使用数字证书的网站。

那么证书长什么样子?

首先,点击浏览器(以Chrome为例)地址栏的小锁标志,

点击“证书信息”,即可直观的看到证书的详细信息:

证书路径:

这里可以看到一个三层的证书路径。

那么数字证书到底是以什么形式存在,存储在哪里呢? 服务器上的域名数字证书其实就是一个文本文件,下面以https://saas.janusec.com/的域名证书为例,

证书文件名: saas.janusec.com.crt(文件名和在服务器上的存放位置都是可以修改的,跟配置文件保持一致即可)。

证书文件内容(仅为直观展示目的,内容略作修改,此格式适用于Nginx配置):

可以看到,这个证书文件,实际上包含了两张证书:

上面的一张就是实际要用的域名证书,是证书服务器通过邮件方式发送过来的;下面的一张是中间证书,它是公开的,也可以从证书服务商的网站找到。如果中间证书不止一张,则需要把所有的中间证书都贴在这个文件里面,顺序刚好跟用户看到的证书路径层级相反。

那么问题来了,这个文件里面并没有根证书。

那么根证书在哪里呢?

其实,Web服务器上并不需要配置这个根证书,根证书就内置在您所使用的浏览器里面或者操作系统里面(Chrome和IE使用Windows的证书管理,而Firefox有自己的证书管理模块)。

在刚才的证书路径界面,点击根证书,查看证书,即可看到。

以常用的Chrome和IE为例,打开控制面板中的Internet选项,内容,证书,即可查看受信任的根证书颁发机构,在列表中可以找到它。

这里的受信任的根证书颁发机构,其实就是内置在Windows的证书管理(IE、Chrome)或浏览器厂商内置在浏览器(Firefox、Opera)里面的。

如果您使用了自颁发的证书,则浏览器默认就不会接受它,只有您手工将自颁发的根证书添加到受信任的根证书目录里面,浏览器才不会警告。最常见的就是12306网站,购票前需要用户先安装他家的根证书有没有?

Web服务器上除了这个证书文件之外,还需要配置私钥文件(样例中文件名为saas.janusec.com.pem)才能让证书正常发挥作用,因为浏览器在和Web服务器进行会话协商的过程中,将要用于内容加密的动态加密密钥是通过服务器证书的公钥加密的,服务器必须要用自己的私钥才能解开。这个动态加密密钥使用的是对称加密算法(而不是RSA),算法从双方都支持的算法集中挑选,比如本例中点击小锁标志,可以看到,对内容传输使用的加密算法是AES-128,密钥交换机制采用的才是RSA。

这个文件是需要保密的,其内容样式如下(具体内容已修改,防止泄密):

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END RSA PRIVATE KEY-----

在Web服务器Nginx的配置文件中,在Server{}内部需要配置证书文件和私钥文件路径:

代码语言:javascript
复制
server {
...
ssl_certificate /usr/local/cert/saas.janusec.com.crt;
ssl_certificate_key  /usr/local/cert/saas.janusec.com.pem;
...
}

数字证书FAQ

问:数字证书是否包含私钥?

答:私钥是保密的,证书中并不包含私钥。数字证书是公开给别人看的,所包含的字段,可以点击小锁标志进行查看,网站的域名数字证书最关键的字段是域名。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据安全架构与治理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档