免费 SSL 安全证书
为了保证网上传输信息的安全而在自己的 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)的特点是:
- 属于“中级证书颁发机构”颁发的 CA。(我们自己签发的当然就是自己了,没有被认证的。)
- 不是扩展验证证书(Extended Validation Certificate)。(注:如果是 EV Certificate 的话,通过浏览器访问的时候,地址栏会显示绿色背景,通常称为“绿栏”证书。)
- 有效期 1 年,到期还可以免费再续。(自己签发的证书可以随意设置有效期限。)
- 对 Windows 友好(在 IE 和 Chrome 中使用不会提示证书错误)。
- 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 安全证书的更多相关文章
- 去freessl.org申请免费ssl服务器证书
去freessl.org申请免费ssl服务器证书 来源: 本文链接 来自osnosn的博客 写于: 2019-03-30. 想搞个自签名证书,可以参考这篇: 用openssl为WEB服务器生成证书(自 ...
- 在CentOS6,CentOS7安装 Let'sEncrypt 免费SSL安全证书
相对来说,个人网站建立SSL是昂贵的,而且往往过程繁琐.一个标准的2048位证书费用至少150美元/年,网站除了要支付一笔昂贵的费用.重新配置Web服务器,并需要解决大量的配置错误.这让广大中小网站望 ...
- 云栖社区> > 正文 永久免费SSL安全证书Letsencrypt安装使用方法
./letsencrypt-auto certonly --standalone --email admin@thing.com -d thing.com -d www.thing.com
- 【转】IIS - 自动申请、部署Let's Encrypt的免费SSL证书
IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161 一.HTTPS 协议介绍 1,什么是 HTTP ...
- IIS - 自动申请、部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议)
IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161 一.HTTPS 协议介绍 1,什么是 HTTP ...
- 【微信小程序开发】之如何获取免费ssl证书【图文步骤】
微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站 https://www.s ...
- 免费SSL证书 之Let’s Encrypt申请与部署(Windows Nginx)
我着着皇帝的新衣,但是你看不见 有一颗愿意等待的心,说明你对未来充满希望.有一颗充满希望的心,那么等待又算什么.人就是在等待与希望中度过,我们永远要对未来充满信心! 读在最前面: 1.本文案例为 ...
- 新版startssl 免费SSL证书申请 (实测 笔记 https http2 必要条件)
简单说明: 目前多个大型网站都实现全站HTTPS,而SSL证书是实现HTTPS的必要条件之一. StartSSL是StartCom公司旗下的.提供免费SSL证书服务并且被主流浏览器支持的免费SSL.包 ...
- StartSSL免费SSL证书申请和账户注册完整过程
StartSSL算是比较早提供免费SSL证书的第三方提供商,我们可以免费申请且免费续期使用到有需要HTTPS网址的用户.关于网站使用SSL证书主要还是因为谷歌在向导说明中提到如果一个网站使用到SSL证 ...
随机推荐
- Linux中如何配置IP
与网络相关的文件:1) /etc/sysconfig/network 设置主机名称及能否启动Network2) /etc/sysconfig/network-scripts/ifcfg-eth ...
- NIO之Charset类字符编码对象
Charset类字符编码对象 介绍 java中使用Charset来表示编码对象 This class defines methods for creating decoders and encoder ...
- [转]从输入url到页面加载完成的过程中都发生了什么事情
第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情? 从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器 ...
- webdriver下拉框中选择option的方法提醒
select这个标签比较特殊 下面的option不能用点击下拉框,再点击选中这种方法 前端代码: <html> <body> <select id="Shipp ...
- AFNet3.0上传图片
很多iOS应用都会遇到需要上传图片的情况,比如修改个人资料时需要上传自己的头像,最近我也遇到了这种情况,首先参考之前写过的AFNetWorking3.0处理请求头和请求内容. 我们在上述博客的基础之上 ...
- hdu5802 Windows 10 贪心
Windows 10 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- 自动添加需要编译的源文件Android.mk模板
自动添加需要编译的源文件列表 添加第三方静态库.动态库的依赖 假设我们的项目依赖 libmath.a, libjson.a, libffmpeg.so 这几个第三方库文件,项目包含如下几个模块:a ...
- Tomcat (7.0)数据源配置
在Tomcat这个Java Web容器下通过配置DataSource(数据源)对象能够解决上面所述的问题. JDBC中的javx.sql.DataSource接口负责建立于数据库的连接.程序中直接从数 ...
- java 证书 .cer 和 .pfx
作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形 ...
- Ionic 取消自带动画效果
$ionicConfigProvider.views.transition('none'); 或: <ion-view view-title="个人中心" animation ...