V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pppguest3962
V2EX  ›  Linux

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

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

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

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

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

    问题很低级,望高手见谅,不明白之处请多多指点,谢谢解答!
    4 条回复    2017-02-20 13:48:00 +08:00
    okudayukiko0
        1
    okudayukiko0  
       2017-02-15 23:55:14 +08:00 via iPhone
    操作系统默认只信任一些高可信度的著名 CA ,你自己的 CA 和自签证书当然不会被信任。自签名证书没有有效期,估计是有错误?
    Sh888
        2
    Sh888  
       2017-02-17 16:29:10 +08:00
    你把颁发服务器证书的 ca ,复制到客户端,加入信任的根证书。这样不就可以了?
    1 、是否验证由客户端的安全策略决定
    2 、基本正确,要看你买的是什么类型的证书,不是所有的证书都是 ca 颁发的。
    3 、你自己建的 ca ,客户端默认都是不信任的,要手动添加。
    4 、 centos 下只用过 openssl , windows ad 可以启用 ca 根证书,如果客户端加入了 ad ,会自动信任 ad 颁发的所有证书。
    Osk
        3
    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
        4
    msg7086  
       2017-02-20 13:48:00 +08:00
    1. 证书基于证书链,向 CA 确认主要是确认注销而不是确认信任。信任是基于信任链的。
    比如说有信任链 [大佬 CA -> 小 BOSS-CA -> 你的证书],你浏览器只要信任大佬 CA ,就能自动信任你的证书。
    反之亦然,自签名证书因为没有大佬背书,自然浏览器就不信任了。

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

    3. 不是。

    4. 不是。
    另外搭建 CA 是技术问题,与法律无关。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:25 · PVG 06:25 · LAX 14:25 · JFK 17:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.