为了保证网上传输信息的安全而在自己的 Linode VPS部署 SSL 加密服务。商业 CA 较贵,所以使用了自己签发的 CA。网友神爱留言提到了 StartSSL 的免费 CA,稍做了一些调查,在此分享两个发放免费 CA 的机构:StartSSL 和 CAcert。

Let’s Encrypt

为了推动更加广泛的网络安全,Mozilla、思科、Akamai、IdenTrust、EFF 和密歇根大学研究人员联合宣布Let’s Encrypt CA 项目,计划为网站提供免费的基本 SSL 证书,以加速互联网从 HTTP 向 HTTPS 过渡。Let’s Encrypt CA 将由非赢利组织 Internet Security Research Group (ISRG) 运营。

Let’s Encrypt 设计为部署之后向网站通过程序自动化更新和部署安全证书,证书有效期为 90 天的安全证书,到期自动更新。一旦部署,后续的维护工作几乎可以忽略。这个应该是目前最具竞争力的免费 CA 证书了吧。

StartSSL

注意(2016.10.02):

StartSSL 早已被 WoSign(一家中国 CA)收购,且背后有 360 作为股东。已有报道 WoSign 在签发 SSL 证书方面的违规行为。故不再建议使用该公司的证书。

相关报道应该很容易搜索到,这里就不再多说了。

StartSSL 隶属于一家以色列商业公司 StartCOM,是 StartCom Linux 操作系统的生产供应商。由 StartCom 提供的大多数解决方案都基于开源技术和开放标准。StartCom 自 2005 年开始经营 StartCom 认证机构(StartCOM CA),即由 StartSSL 负责运营。2011年6月,该公司因遭受黑客攻击而暂停签发数字证书和相关服务几个星期(via)。

StartCom 免费提供供个人使用的 StartSSL™ Free 服务,基于 Class 1 级别的 X.509  SSL 安全证书,提供对 Web 服务器(SSL / TLS)以及电子邮件加密(S / MIME)的认证。它还提供了2级和3证书以及扩展验证证书,费用不菲。

在前面介绍部署 SSL 加密服务和安装 SSL CA 的文章中已经对自己签发(Self-signed)的安全证书做了不少介绍,这里不再赘述。下面直接列举 StartSSL 免费签发的 CA 与我们自己签发的 CA 的区别。

StartSSL 免费签发的安全证书(CA)的特点是:

  1. 属于“中级证书颁发机构”颁发的 CA。(我们自己签发的当然就是自己了,没有被认证的。)
  2. 不是扩展验证证书(Extended Validation Certificate)。(注:如果是 EV Certificate  的话,通过浏览器访问的时候,地址栏会显示绿色背景,通常称为“绿栏”证书。)
  3. 有效期 1 年,到期还可以免费再续。(自己签发的证书可以随意设置有效期限。)
  4. 对 Windows 友好(在 IE 和 Chrome 中使用不会提示证书错误)。
  5. Firefox 对安全的控制较严格,在这一点上,StartSSL 签发的免费证书与自己签发的证书没区别。要用起来方便的话可以将证书自行添加到受信任的证书颁发结构列表中。

以上记录都经过了水景一页的测试和检查。

根据维基百科上的记录,自 2009年9月开始,所有的微软 Windows 操作系统、苹果 Mac OS X10.5 版本(Leopard)以及 Mozilla Firefox 2.x 及以上版本(误?)都默认包含了 StartSSL 证书。但是我上面说了,至少免费版本的 StartSSL 证书仅仅被认证为“中级证书颁发机构”而不是“受信任的根证书颁发机构”。而且,我目前使用的 Firefox 15 中也并没有包含 StartSSL 证书。

另外,2010年7月27日开始 Opera 浏览器也默认包含了该证书。由于谷歌 Chrome、苹果 Safari 和微软 Internet Explorer 都是使用操作系统的证书存储区,所以这些浏览器,以及使用相同内核的浏览器都默认支持 StartSSL 安全证书。(请注意这是操作系统相关的。)

能被浏览器默认支持是很有吸引力的,这样用户通过 HTTPS 加密连接访问服务的时候就不会被提示证书错误。很多用户看到了显眼的证书错误提示可能就急忙关闭页面或程序了。

CAcert

CAcert.org 是一个社区驱动的安全证书颁发机构,2003年7月注册成立于澳大利亚新南威尔士州。从 2005年10月开始提供 Class 1 和 Class 3 根证书(Root Certificate),Class 3 证书是 Class 1 的具有更高安全性的分支。截止到 2012年1月,CAcert 已经拥有超过 200,000 名认证用户,发放了超过 800,000 份证书。

CAcert 免费向所有人颁发证书。其目标是通过使用加密技术,以促进计算机安全意识和教育,特别是 X.509 标准。

对于新手,CAcert 提供一种非常简单快捷的方法来获得证书 —— 注册后即可申请自动签发,完全由程序自动完成 —— 可以用于加密电子邮件,证明电邮地址来源等。对于提供服务的管理员,CAcert 提供主机(域名)和通配符证书,可以用于验证网站、POP3、SMTP 和 IMAP 连接等。并且不限制证书的强度(级别)。对于那些有极高安全加密要求的用户,CAcert 还启动了 CAcert 保证计划(CAcert’s Assurance Programme)和信托网站(Web of Trust)。通过的话就可以拥有自己的身份验证,还包括更长的证书有效期、在证书中包含个人姓名和电子邮件等额外的好处。

 

Web of Trust 是很有意思的,它要求参加认证的用户面对面进行认证,相互验证对方的身份证明材料。CAcert 维护用户帐户的认证点数(number of assurance points)。认证点数可以通过获得“担保人(Assurer)”的认证来积累(每次认证都由担保人根据自己的级别来指定点数)。拥有更多认证点数的用户就拥有更高的信任度,也就可以拥有更多的权利,比如在证书中写入自己的姓名和拥有更长的有效期等。当拥有至少 100 个认证点数后就是“准担保人(Prospective Assurer)”。之后可以申请参加“认证挑战(Assurer Challenge),通过后即可成为担保人,可以认证其他用户。担保人拥有的认证点数越多,就可以给通过其认证的用户分配更多点数。这实际上也是 CAcert 为了申请将根证书加入 Firefox 所要做的准备工作之一。

介绍了这么多背景资料,相信读者已经大致了解了 CAcert 的公信力了。再来介绍一下它被系统和浏览器信任的情况吧。很不幸的是,因为 CAcert 是一个免费证书颁发机构,微软以及苹果的系统都没有将其列入证书存储区,各大流行的浏览器也没有这么做(目前正在努力申请加入 Firefox 证书存储区)。不过 CAcert 在各大开源系统中倒是很受欢迎,例如(via WikiPedia):

  • Arch Linux
  • Ark Linux
  • CentOS
  • Debian
  • FreeWRT
  • Gentoo
  • Maemo (installed on Nokia Internet Tablets)(not on Nokia N900)
  • Knoppix
  • Mandriva Linux
  • MirOS BSD
  • OpenBSD
  • openSUSE
  • Ubuntu, Xubuntu, Kubuntu, Lubuntu (Not in CAcert inclusion list, but actually provided by package ca-certificates now.)

看来 CAcert 注定要成为一个游离于政府和商业之外的组织了。

后记

目前完全免费的 SSL 证书提供者就这两家了,其它基本上都是试用期免费。嗯,还有自己签发的也是免费的 :D

不过如果你运行了一个开源社区(需要通过  Open Source Initiative 的认证),Go Daddy 是可以为你免费提供一个 SSL CA。兴奋吧?

我一向认为互联网上没有绝对的安全。即便是拥有“绿栏”的 EV 证书,也不见得就能完全保证信息安全。所以需要安全的时候,我们自己要多加小心。

另外,之前网友抵制 CNNIC CA 的时间值得做个扩展阅读。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/free-ssl-ca/>。转载请保留此信息及相应链接。

免费 SSL 安全证书的更多相关文章

  1. 去freessl.org申请免费ssl服务器证书

    去freessl.org申请免费ssl服务器证书 来源: 本文链接 来自osnosn的博客 写于: 2019-03-30. 想搞个自签名证书,可以参考这篇: 用openssl为WEB服务器生成证书(自 ...

  2. 在CentOS6,CentOS7安装 Let'sEncrypt 免费SSL安全证书

    相对来说,个人网站建立SSL是昂贵的,而且往往过程繁琐.一个标准的2048位证书费用至少150美元/年,网站除了要支付一笔昂贵的费用.重新配置Web服务器,并需要解决大量的配置错误.这让广大中小网站望 ...

  3. 云栖社区> > 正文 永久免费SSL安全证书Letsencrypt安装使用方法

    ./letsencrypt-auto certonly --standalone --email admin@thing.com -d thing.com -d www.thing.com

  4. 【转】IIS - 自动申请、部署Let's Encrypt的免费SSL证书

    IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161   一.HTTPS 协议介绍 1,什么是 HTTP ...

  5. IIS - 自动申请、部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议)

    IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161   一.HTTPS 协议介绍 1,什么是 HTTP ...

  6. 【微信小程序开发】之如何获取免费ssl证书【图文步骤】

    微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站  https://www.s ...

  7. 免费SSL证书 之Let’s Encrypt申请与部署(Windows Nginx)

    我着着皇帝的新衣,但是你看不见    有一颗愿意等待的心,说明你对未来充满希望.有一颗充满希望的心,那么等待又算什么.人就是在等待与希望中度过,我们永远要对未来充满信心! 读在最前面: 1.本文案例为 ...

  8. 新版startssl 免费SSL证书申请 (实测 笔记 https http2 必要条件)

    简单说明: 目前多个大型网站都实现全站HTTPS,而SSL证书是实现HTTPS的必要条件之一. StartSSL是StartCom公司旗下的.提供免费SSL证书服务并且被主流浏览器支持的免费SSL.包 ...

  9. StartSSL免费SSL证书申请和账户注册完整过程

    StartSSL算是比较早提供免费SSL证书的第三方提供商,我们可以免费申请且免费续期使用到有需要HTTPS网址的用户.关于网站使用SSL证书主要还是因为谷歌在向导说明中提到如果一个网站使用到SSL证 ...

随机推荐

  1. nginx缓存设置

    http://linux008.blog.51cto.com/2837805/547236 目的:缓存nginx服务器的静态文件.如css,js,htm,html,jpg,gif,png,flv,sw ...

  2. 自己动手制作更好用的markdown编辑器-01

    这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址  http://benq.im   文章目录 1. 简介 2. 项目结构 3. 程序主界面 4. 拖动窗口 5. app ...

  3. Atitit.协议的转换smb2http 原理

    Atitit.协议的转换smb2http 原理 1. 协议的转换原理 stream的转换.. 2. 常用协议转换的情形 android通过SMB访问局域网共享文件 作者::  ★(attilax)&g ...

  4. dubbo_实现Hessian的远程调用协议

    1.优点 连接个数:多连接 连接方式:短连接 传输协议:HTTP 传输方式:同步传输 序列化:Hessian二进制序列化 适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文 ...

  5. 看好你的门-攻击服务端(3)-SOAP注入攻击

    首先须要声明,本文纯属一个毫无远见和真才实学的小小开发者的愚昧见解.仅供用于web系统安全方面的參考. 1.SOAP注入攻击 server端的XML解析引擎从client接收输入信息.这里指的clie ...

  6. Python内置函数之format()

    format(value[,format_spec])返回字符串对象. 可以用来格式化value. >>> format(,'0.3f') #保留3位小数 '12.000' > ...

  7. jsdoc — js注释

    官方文档 http://usejsdoc.org/ - sublime插件 https://github.com/spadgos/sublime-jsdocs - 生成文档 生成html: (1)安装 ...

  8. IPBX和话机对接

    某厂家的话机和IPBX进行对接问题: 1.      该话机作为主叫方,呼叫能够正常建立 2.      该话机作为被叫方.呼叫无法建立,IPBX发送INVITE消息给该话机,该话机回复400 具体消 ...

  9. Java获取系统默认浏览器打开链接

    package com.ylx.test; public class DesktopBrowers { public static void main(String[] args) { // 判断当前 ...

  10. PHPstorm配置远程及本地服务器

    首先打开PHPStorm的设置. 找到如下页面 OPEN一个项目,路径为XAMPP的安装路径 选择Local or mounted folder 设置以上属性,upload/download proj ...