CNNIC,我不信任你!——从“受信任的根证书”里赶走CNNIC

Twitter上惊闻“微软把CNNIC列为根证书发布者”,赶紧Google一把,发现Mozilla同样也已经在3.6版的Firefox里这么做了。

出于对CNNIC深深的不信任,我决定将CNNIC ROOT从“受信任”的列表里赶出去。

因为IE/Chrome采用微软的CA目录,而微软现在暂未将CNNIC加入,因此需要先从Firefox中导出这几个证书,再添加到Windows的“不信任”列表(更新:现在可以直接从Windows里导入再导入了,操作类似),以防范于未然。下面便是具体的步骤了(包括IE/Chrome/Firefox):

1、如果没有安装Firefox浏览器的3.6最新版,或者在下面的操作中没有找到相应的证书,可以从这里下载这三个证书,然后跳到第5步(其中CNNIC SSL非自带证书!):CNNICROOT.crt CNNICSSL.crt Entrust.netSecureServerCertificationAuthority.crt

2、打开Firefox浏览器,工具(Tools)->选项(Options)->高级(Advanced)->加密(Encryption)->查看证书(View Certificates)

3、在证书机构(Authorites)标签页中找到”CNNIC“组的”CNNIC ROOT“项,按导出(Export)(备份到本地),然后编辑(Edit),去除里面的三个勾选,然后单击确定(OK)。(RT JimmyXu:在Firefox里对自带根证书执行“删除”操作就相当于是禁用其所有目的,并不会将其删除。)

4、在”Entrust.net“组中找到”Entrust.net Secure Server Certification Authority“(序列号37:4A:D2:43的)和”CNNIC SSL“证书,同样导出并去除勾选。(注:Entrust.net这个也是验证CNNIC所用的证书)



5、打开开始菜单->运行(或者直接按Win-R

6、输入certmgr.msc,打开Windows的证书管理器。

7、展开”不受信任的证书(Untrusted Certificates)“,右键单击其下”证书(Certificates)“项,在”所有任务(All Tasks)“子菜单下单击”导入(Import)…

8、分别找到刚才保存的三个证书,依次导入(Next->Browse…(找到相应文件)->Next->Next->Finish)。

9、将导入的证书复制(Ctrl-C),然后粘贴(Ctrl-V)到受信任根证书颁发机构(Trusted Root Certification Authorities)中,然后在这个窗口中分别右键单击粘贴过来的3个证书,选择“属性(Properties)”,然后单击“停用这个证书的所有目的(Disable all purposes for this certificate)”。

(感谢 Jimmy Xu 供图)

另附上网友补充的Safari/Opera设置方法:

Mac下Safari操作步骤(感谢推友 @xzzxyd 提供!):
应用程序(Applications)/实用工具(Utilities)/ 找到里面的 钥匙串访问(Keychain Access.app),或者在Spotlight中搜索”Keychain Access“或”钥匙串访问“,打开后搜索CNNIC,在”信任”中标记为”永不信任“~。

VPN代理服务器:都没人提Opera的吗?Ctrl+F12 -安全性-管理证书-证书办法机构-CNNIC ROOT 双击,把 允许连接到使用该证书链接的网站 去掉。

想检验操作是否成功?在浏览器里访问 https://www.enum.cn/ ,如果提示证书被拒绝,就证明操作成功了!

——————1/29 6:30 PM更新——————

经验证,CNNIC SSL证书非Firefox 3.6自带,没有找到属正常情况;另外,上述步骤3/4有变化,已删除证书 CNNIC SSL 发现无效的朋友,可以将 CNNIC SSL 证书按照上述3/4步的步骤重新操作一次,而非删除,即可。

——————1/27 7:30 PM更新——————

不需要关闭自动更新,上述步骤多了第9步,请注意

——————1/27 6:15 PM更新!!——————

0、在默认情况下,微软会自动连接到Windows Update服务器更新CA列表,这样会导致以下操作对IE/chrome失效,具体解决方法:

0a:对于Windows XP用户:控制面板(Control Panel)->添加/删除程序(Add/Remove Programs)->添加/删除windows组件(Add/Remove Windows Components)->取消勾选“更新根目录证书(Update Root Certificates)”

(感谢推友@tOmMyanG供图!)

0b:对于Windows Vista/Windows 7用户:组策略(运行->gpedit.msc)->计算机配置(Computer Configuration)->管理模板(Administrative Templates)->系统(System)->Internet 通信管理(Internet Communication Management)->Internet 通信设置(Internet Communication settings),启用(Enable)“关闭自动根证书更新(Turn off Automatic Root Certificates Update)”

十分感谢推友 @Ratoo 和 @jimmy_xu_wrk 在这个问题上对我的帮助:)

(另:十分感谢使用中文版系统的朋友告诉我相应选项在中文版中的名字,谢谢!)

参考资料:http://www.networkworld.com/community/node/17703

447 thoughts on “CNNIC,我不信任你!——从“受信任的根证书”里赶走CNNIC”

  1. 谢谢提醒,删掉了,不敢相信CNNIC。
    因为从随便终止个人用户域名上就觉得CNNIC没有信用。

  2. 上图

    禁止后IE说无法显示该网页,Chrome正常
    [IMG]http://i155.photobucket.com/albums/s301/Rover813/enmu1.jpg[/IMG]

    添加www.enum.cn证书到不信任,信任里禁止后正常
    [IMG]http://i155.photobucket.com/albums/s301/Rover813/enmu2.jpg[/IMG]

  3. 我也找不到cnnic ssl这个证书,不过我修改之后就会提示https://www.enum.cn/的证书不受信任。

  4. https://www.enum.cn/ 看了下这网站的证书

    CNNIC ROOT 顶楼下载已提供
    CNNIC SSL,由CNNIC ROOT颁发,顶楼没有 (顶楼提供的CNNIC SSL是由entrust颁发的版本)

    按照顶楼方法禁止证书后,IE访问说Internet Explorer 无法显示该网页,Chrome正常

    只有自己再把www.enum.cn这个证书添加并禁用后,IE和Chrome才会显示安全证书有问题的提示

  5. 很诡异的问题
    etrust那个firefox 3.5.7始终删除不掉,不过会组织HTTPS

    另外root ssl etrust加到不信任里面,信任里面禁用目的后
    ie还是能打开,当然毫无疑问chrome也打开了

    东点点西点点,发现一个使用的证书是另外一个cnnic ssl发给enum的10年10月过期的证书,禁用后ie/chrome也禁止https了

      1. 这篇文章里给的SSL颁发者是ENTRUST,颁发给CNNIC(简称1号SSL好了)

        我说的另一个是
        颁发者CNNIC SSL
        颁发给 http://WWW.ENUM.CN
        预期目的 服务器验证
        过期时间 2010.10.20
        (那这个简称2号SSL)

        证书不了解,感觉这个SSL似乎是证书颁发的中间一层
        但是我的IE/CHROME必须同时禁掉2号SSL才能阻止访问网站

          1. firefox 3.5.7的情况:
            cnnic root 一开始我就没有
            cnnic ssl被我删了
            entrust 删了
            重启fx 3.5.6
            cnnic ssl没了
            entrust 还在,反复操作无果
            但是全部不勾选,访问https还是禁止了,效果达成

            再来说IE/chrome
            三个证书,在 不受信任的证书 导入,OK
            在信任证书导入,然后再信任证书中禁止目的,OK
            尝试https,依然可以连接上
            我的情况和上面的CC应该是一样的,必须再次手工添加CNNIC SSL颁发给www.enum.cn的证书到不信任里面才能阻止访问

            UPDATE:
            发这篇回复时我再次完整、仔细的尝试了一次,这次成功了,我不需要自己手工加www.enum.cn的证书了
            但是我非常确信先前的操作没有问题

            由于CC也有同样问题,我相信这是一个系统的问题,如果有相同问题的,需要多次多次重复操作(在信任证书中,开启所有目的,然后再关闭所有目的,这样反复多次)

            1. 您好像是禁用了证书,而没有禁用“[color=red]受信任的证书颁发者[/color]”,请仔细检查一下这个问题:)

              1. 再一次看了一下说明
                发现我有搞错的地方,确实是禁用了证书而不是禁止颁发机构
                怪我先前没看图
                不过您的 “受信任的证书颁发者” 和配图(Jimmy Xu 供图)对不大上,英文确实应该是Trusted Root Certification Authorities,但是中文(包括图中和我自己机器上)翻译是“受信任根证书颁发机构”

                PS。我的根证书颁发机构里只有CNNIC ROOT 和ENTRUST,没有SSL
                是否一定要导入SSL再禁用
                这个SSL属于中级颁发机构吧,会有影响吗

                1. 还是会有问题
                  现在情况是IE网络问题无法访问了,CHROME正常了,哈哈哈,我奔溃了,明天再试试看,或者看看其他人到底怎么回事情

  6. 奇怪,照着做了开始是打不开了,浏览器重启一次又能打开了,fx3.5.7,entrust那个删不掉

  7. 为什么我一台机器上fx3.6没有看到ssl
    另一个台fx3.5看不到root?

    另外我添加进不信任证书后,在不信任证书中的属性栏选择了禁止证书目的,IE就不可访问ENUM了
    再去受信任的证书颁发者里导入并设置是否必要?

  8. 系统:XP sp3
    浏览器:IE8,ChromePlus1.3.6.0 (基于Chromium4.0.295.0)

    按照顶楼的顺序设置,IE8无法访问https://www.enum.cn/

    但是提示的是:Internet Explorer 无法显示该网页,而不是安全证书问题

    Chrome依旧可以访问https://www.enum.cn/ 没出现任何提示….

    真神奇啊

  9. 我已经是管理员身份了,为何在ff下导出证书时提示我没有权限打开该文件呢?win7 x86

  10. 我是win7 x86中文旗舰版,为何在firefox下导出证书时,提示我没有权限打开该文件呢?请指教!

    1. 导出是为了在Windows证书管理器中导入,如果不需要这么做,您可以仅在Firefox中取消勾选(新操作,详见文中3、4步)

  11. 按照楼主的做法做了,ff和ie的确都无法访问那个网站,但是好像ie有点问题,看到楼主的截图ie提示的信息是This is a problem with this website’s security certification,但是在我的ie8里提示是Internet Explorer cannot display the webpage,这是怎么回事,好像这样的话我就没有办法在无法访问的时候添加一个例外? 麻烦楼主替我解答一下。
    另外,这样操作以后,在safari,chrome,opera中仍然可以正常访问。

  12. 该方法对Firefox 3.6里面的CNNIC SSL无效。
    删除CNNIC SSL是真的把这个证书删了(另外两个不是真删除),一更新又回来了(我也不知道更新了什么。。。),那个测试页又能顺利地打开。而此时CNNIC SSL在Edit的三个勾都是取消掉的。
    这是怎么回事?

      1. 还是没有用额…
        如果直接删掉的话,能够阻止测试网址。
        如果存在CNNIC SSL这个证书,即使三个勾都不勾选,依然能够顺利打开测试网址。
        主要问题是,即便删除,以后也会神不知鬼不觉地溜进来。

        1. 删除是确实会重新进来,但是删除和三个都不勾选基本是相同作用;而三个都不勾选应该就不能打开测试网址了啊……

              1. 我发现是我错了。
                那个Entrust.net的证书不知什么时候变成了trusted,所以才能够访问那个测试网站。
                烦劳您费心了,十分抱歉。

  13. 把CNNICSSL.crt下载后导入,禁用,依然可以正常访问https://www.enum.cn/

  14. 网易的战网服务器使用了CNNIC SSL的证书,如果是玩cwow的需要充值,可以使用FF添加该例外。

      1. 我试过IE跟Chrome,这个例外看来是只针对FF的。以下是截图:http://huboo.eblhost.cn/upload/20100129170118_39667.gif

      2. 突然发现你的gravatar也是只猫。不知道回复可以使用什么代码,就直接贴了图片地址。

  15. 为何证书管理器里找不到CNNIC SSL?XP系统。。。
    其他都正常操作了,但是依然可以正常访问https://www.enum.cn/

  16. 为啥看不到我的留言了 昨天我就留言了的 说把那3个证书删除之后Brizzly网站也运行不了 缺少第三个证书(证书名最长的那个)

    1. 抱歉,我这里有设置第一次留言需要审核,以防spam,希望能原谅:)Brizzly网站的问题我再去看看

  17. OS是archlinux
    瀏覽器是firefox3.5.7
    在“編輯-首選項-高級-加密-查看證書-證書機構-Entrust.net-CNNIC“已經找到CNNIC,已刪除。
    看來並不是只有3.6才有這個證書,3.5.7已經有了!

  18. 我是XP系统,在参考上文中“添加/删除组件”,即关闭自动更新跟目录,并点击下一步时,提示要插入安装光盘。如何解决?或者说具体是XP下如何取消自动更新根目录?

  19. 我按照以上步骤作了后,ie直接就提示该页无法显示,但是我只想要一个警告页面,应该怎么做

  20. 第9步的作用是什么?
    我没做这步操作也能无法访问https://www.enum.cn/, Firefox提示“此连接是不受信任的”

  21. 博主你好,为什么我按你的做法操作了,firefox3.5 和 IE6 都依然能正常访问https://www.enum.cn/ 这个网站?因为我是偶然搜索到贵博客的,可以回复到我的Email里去吗?万分感谢

      1. 谢谢博主你的关注。我想了很久,也想不出怎么提供更详细的信息了。我是按着博主所描述的一步步操作下去的。由于我用的是Fx3.5,因此我是下载了证书来进行操作的。每一个步骤我都确认完全照做,没有问题的。但是依然没有效果。Fx和IE还是照样正常访问那个网站。我猜想会不会是其他因素的影响?

        1. 博主你好,问题解决了。是我自己的问题。首先是博主文章中的“受信任的证书颁发者” ,这个我没找到,因此误理解为“受信任的发行者”,其实应该是“受信任的 根 证书颁发者”。所以停用行为无效。而firefox方面,因为我用的是Fx3.5 ,而且找不到CNNIC BOOT这个证书,所以我想当然地认为其他两个证书也没有,结果再次检查却发现了他们的足迹,把他们删除后就能正常屏蔽了。
          PS:我在Fx里删证书的时候不小心删除错了另一个,而且我不知道是哪一个。这个要怎么办?有影响吗?

          1. 您好,误删除的证书在重启firefox后会重新出现,只是其功能的三个勾会全部处于未勾选状态。如果您记得大致的位置,可以找到相应的证书,重新勾上那三个勾:)

Leave a Reply

Your email address will not be published. Required fields are marked *

QR Code Business Card