看完 SSL 的原理文档,动手也做了 openssl 自签证书,还是有些不明白。。。

2017-02-14 17:20:32 +08:00
 pppguest3962
1 、用 openssl 自签了证书,一些国家地区的字段都是乱填的,不过 COMMNAME 字段还是跟服务器 IP 地址或者域名吻合,
把这种自签的 pem,key,crt 用在服务器上,那么客户端(以 web 和 ftp 来说),登录会提示服务器的证书是不完整的(如附件图),那么说明这种自签的证书,是不是无法跟 CA 服务器确认? 在证书使用时候,还要跟 CA 服务器沟通对不对?再搜了一下网络知识,似乎要去 CA 服务器确认 CRL 撤销有效性? 不知道我理解得对不对? 我看到我自签的证书是没有有效期的。。。。

2 、看到在网上能够去买 SSL 证书,而且也有免费的,这种证书是服务提供商建立了一个 CA 服务器,以确保签发的证书是能够到它那里进行确认的,对不对?

3 、如果假定我以上两点理解正确,那么重点就是能自己建立一个 CA 服务器,完成整个证书认证链条也是可以的吧?

4 、 Centos 系统一般用什么组件或者方法搭建一个 CA 服务器,对内网进行使用? (违法吗? 不违法的话那为什么绝大多数人去买商业的 SSL 证书呢?)

问题很低级,望高手见谅,不明白之处请多多指点,谢谢解答!
2069 次点击
所在节点    Linux
4 条回复
okudayukiko0
2017-02-15 23:55:14 +08:00
操作系统默认只信任一些高可信度的著名 CA ,你自己的 CA 和自签证书当然不会被信任。自签名证书没有有效期,估计是有错误?
Sh888
2017-02-17 16:29:10 +08:00
你把颁发服务器证书的 ca ,复制到客户端,加入信任的根证书。这样不就可以了?
1 、是否验证由客户端的安全策略决定
2 、基本正确,要看你买的是什么类型的证书,不是所有的证书都是 ca 颁发的。
3 、你自己建的 ca ,客户端默认都是不信任的,要手动添加。
4 、 centos 下只用过 openssl , windows ad 可以启用 ca 根证书,如果客户端加入了 ad ,会自动信任 ad 颁发的所有证书。
Osk
2017-02-19 12:06:31 +08:00
自签证书大概 CA 不违法(法律这个东西吗就是让很多大家觉得正常的行为都是在违法,万一有需要就站在制高点搞死人),当然滥用的话不多说。。。

正常情况:
自签 CA 在这些地方使用:内网 /自己人用的地方,因为内网或者自己的计算机可以很方便地安装你的 CA 根证书为信任证书,该 CA 签发的证书就全都信任了。比如公司的一些内部系统等。

使用大牌 CA 的话,因为你的系统默认有很多信任的 CA ,你找这些 CA 签你的证书,几乎大部分的 OS 都能正常的验证这个证书,就不会出现浏览器等提示不信任的证书这个问题了,也不用需要像自签证书那样要求客户端安装自签的 CA 根证书。但自己用用有时没必要花这个钱,而且这些 CA 的证书肯定没有自签的自由,并且该 CA 是否值得信任呢?

打偏了的情况:一些 g0v 的网站 /系统,就用自签证书,要去查点办点业务不好意思先安装他们的 CA 根,不然有些浏览器会因为不信任的证书不加载一些脚本 /资源而用不了,很不安全。

乱来:
给别人安装自签 CA 根证书 /大公司利用自己 CA 根的身份乱签证书干坏事,比如劫持 https 来中间人等
msg7086
2017-02-20 13:48:00 +08:00
1. 证书基于证书链,向 CA 确认主要是确认注销而不是确认信任。信任是基于信任链的。
比如说有信任链 [大佬 CA -> 小 BOSS-CA -> 你的证书],你浏览器只要信任大佬 CA ,就能自动信任你的证书。
反之亦然,自签名证书因为没有大佬背书,自然浏览器就不信任了。

2. 不是。验证证书只需要检查信任链,不需要建立服务器来确认信任。

3. 不是。

4. 不是。
另外搭建 CA 是技术问题,与法律无关。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340435

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX