5月4日(GMT)早上,Mozilla的Firefox用户怨声载道,大量用户打开浏览其发现扩展插件无法使用,手机版也是如此。有报道称,此现象是由于Firefox底层SSL根证书过期所导致的,但据我们了解,这是由于AMO使用的代码签名证书无效所导致的,Firefox私有中间证书过期致使代码签名证书无效,从而导致插件验证无法通过。Mozilla Add-ons,也称为AMO,是一个为Mozilla产品查找和安装Add-ons的资源,用于签名和验证插件。

下图所示为AMO证书链,签名证书(也称为end-entity证书)由Firefox私有PKI的一个中间证书颁发,且为每个插件都签发有单独的签名证书。国际CA的中间证书有效期一般为5~10年,而Firefox的只有2年,首先2年的证书有效期很容易被人忽略,其次对于证书到期Firefox却无感知,可见Firefox在管理证书方面非常不严谨,不禁令用户担忧用于插件的代码签名私钥的安全问题。证书到期现象多发生在用户的HTTPS站点上,建议大家使用专业的证书管理工具,例如KeyManager.orgMySSL.com的证书到期提醒服务。

1557107463699017.png

下图为Firefox私有中间证书,红框所示为中间证书到期日。

1557107539323560.png


证书过期导致:

1.插件无法安装。

1557107703316524.png

2.已经安装的插件无法使用

1557107742912258.png


早先的 Firefox 没有强制必须通过 AMO 签名插件,用户可以自行选择代码签名证书,并且分发渠道分散,导致生态内部安全风险比较高。但现在政策调整为:正式版、beta版的安装插件必须被AMO签名,Nightly和Developer Edition可以加载未签名的插件。

扩展/插件签名的官方说明:Add-ons/Extension Signing

提交插件到AMO签名的官方说明:签名和分发你的扩展



【来自SSL China】



1557108049136709.jpeg