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. opera就笑了。。。我想知道这个CNNIC根的害处是什么。谷歌居然不知道

          1. 以为信任链的缘故,即使现在没有,以后也可能不知不觉就进去了,建议还是现在就把它加进去,屏蔽掉:)

  2. 作为一个有几年从业人士,说几句明辨是非的话,不要以讹传讹,最后坏了数字证书的发展。根证书是不能监控网民行为。证书是一种符合国际通行技术标准的加密传输技术服务,就是把你要传输的信息加上密码,防止明文传输被人截获、信息泄露或中途被篡改,保证信息的完整性、安全性。

    1. 中间人欺骗服务器+伪造的“合法”证书,是可以做到窃取用户数据的。尤其在天朝的DNS污染之下。

      1. 这样天朝就可以做出更加有欺骗性的钓鱼网站了…..比如可以通过DNS劫持对Gmail的访问,到自己的钓鱼网站,进行中间人攻击

      2. 看到您的留言作为一个中国人我表示遗憾,对于任何一个我所不知道的人或公司,我可以无条件信任,但是对于一家曾经be evil,并且以后无法保证是否可以Don’t be evil的公司,我没有办法再次信任或者冒这个风险来信任它,这不是戴有色眼镜看人,而是一种自我保护

    1. 另外,我的Opera无法打开http://www.enum.cn提示“无法连接远程服务器”这该怎么办?

        1. Opera死活清不掉..
          对CSS3支持又差
          ..卸载不用了…

          要不是看在曾经的Opera mini上..鬼才用它.

  3. 去除了 CNNICROOT.crt CNNICSSL.crt Entrust.netSecureServerCertificationAuthority.crt 这些证书后连Godaddy的Https页面也无法访问了?求解 麻烦回复我邮件 谢谢

    1. Entrust.net不是CNNIC的下属机构,因此它也签名了其他的网站。对自己信得过的可以自己添加例外:)

  4. firefox3.5.6里面有个cnnic ssl,禁止了就上不成163了。不删除,能上楼主给出的测试网站。怎麽办泥?
    firefox2.0里面没有cnnic ssl,却可以上网易。上楼主给的测试网站,提示是不是信任这个网站的证书。点不信任就上不去了。

  5. 旧版firefox里面有个cnnic ssl,禁止了就上不成163了。不删除,能上楼主给出的测试网站。怎麽办泥?

    1. 旧版更新就会出现证书,也会出现同样的问题。
      上不了163,可以单独添加163的证书为信任的:)

  6. 博主好:我现在在地址栏输入https://www.enum.cn/ 后,就打开一个安全警报的窗口,窗口的内容:
    您与该站点交换的信息不会被其他人查看或更改,但该站点的安全证书有问题;
    该安全证书由您没有选定信任的公司颁发,可以查看证书以便确定您是否信任该验证机构;
    该安全证书的日期有效;
    该安全证书有一个与您试图查看的网页名称匹配的有效名称。
    然后有三个按钮,”是“,“否”,“查看证书”
    我点“否”后就出现一个警告的网面:此网站的安全证书有问题,安全证书问题可能显示试图欺骗你或截获您向服务器发送的数据。
    建议关闭此网页,并且不要继续浏览该网站。
    不知CNNIC证书是不是成功删除了?谢谢!!!

    1. 您可以试试在Chrome的“不信任的证书发布者”里添加这三个证书:)我这里不这样操作也已经可以拒绝访问了……

      1. 我找到原因了,要选中 检查服务器证书吊销状态
        这样就可以了。

    2. 任何一个网站的证书只有网站的管理者自己才可以修改,其他人是无法做到修改、篡改和假冒的。

  7. 注意,对 CNNIC 作恶历史的指控,Firefox安全组的几个混帐概不理睬。他们坚持要拿到CNNIC已经做了证书欺诈的中间人攻击的证据后,才可以去掉证书。

  8. Seamonkey 2.0.2 也带有CNNIC根证书,操作方法跟博主的Firefox 3.6 解决方式一样

  9. FF和IE都能够正常阻止其打开,可是Chrome就是无法阻止,不知道问题到底出现在哪儿?请博主指点一下。我发现运行certmgr.msc后打开的证书后,在“受信任的根证书颁发机构”可以找到CNNIC SSL 这一项并终止所有目的,但是从chrome浏览器里打开证书,在“受信任的根证书颁发机构”里无法找到CNNIC SSL这一项,这是为什么。

    1. 我这里的Chrome也没有找到,但是Windows里设置后,Chrome就可以阻止了……所以不是很明白问题在哪里 0.0

  10. 好奇怪,做了好几次Chorme和IE8都不能了,但是FF还是可以打开。

    1. 我的刚好和你相反,FF和IE 都能阻止,就是Chrome照样可以打开,你是怎么做的?

  11. 博主你好。
    就是 上面显示 “无法核实服务器的证书是否吊销”

    PS:我按照5-9重新操作了一边,Chrome还是能正常访问,并且无视警告[我在浏览器里面设定了 检查服务器证书吊销状态]

  12. 用了上面介绍的方法,chorme无法阻止访问https://www.enum.cn/
    請問博主該如何解决?

    1. 请问您是按照最新步骤操作的吗?是否导入了三个证书?“受信任根证书颁发机构”有没有看错呢?

      1. 是的,导入了三个证书,也导入了“受信任根证书颁发机构”
        IE和火狐都无法访问,但chrome卻是可行的
        chrome版本是4.0.249.78

  13. 用了上面介绍的方法,chorme和IE现在都已经能够阻止访问CNNIC,但是火狐不知道为啥就是无效,删除或者去勾勾都不行,每次打开那两个cnnic的网站都没有任何警告并会自动添加CNNIC证书…难道是因为有更高级别的证书???

      1. 汗..@_@|||||..这么快就给回复…博主太敬业了…问题解决了,原来是忘记edit这个证书了,”Entrust.net Secure Server Certification Authority“(序列号37:4A:D2:43的),原来只改了两个…

Leave a Reply

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

QR Code Business Card