签署浏览器扩展

信息安全 代码签名 浏览器扩展
2021-08-27 09:37:41

我想为用户提供一个浏览器扩展。我是否可以签署我的扩展程序,以便用户可以验证它是真实的,而无需信任他们从中获得扩展程序的网站或网络连接的安全性?哪些浏览器支持易于用户验证的签名扩展?

1个回答
  • 火狐:是的。使用(使用来自受信任的颁发者的证书,例如 Verisign)对您的.xpi文件进行签名。 完整性:如果哈希值不匹配,Firefox 将报告损坏的附加组件。 验证:用户只需要查看插件安装提示是否显示“扩展名(开发者名称)”而不是“扩展名(作者未验证)”xpisign.py

  • :是的。.crx文件是一个zip 文件,前面有一个公钥和 zip 内容的签名
    完整性:Chrome 将中止安装并显示CRX_SIGNATURE_VERIFICATION_FAILED扩展程序的签名是否无效。
    完整性:(替代方法)从 crx 文件中剪切标题,并提取公钥和签名。检查签名是否正确。
    验证:检查公钥是否与您的密钥匹配。
  • Opera :.oex文件(=普通 zip 文件)无法签名。
    Opera 15+ : .nexor.crx文件与 Chromium 的文件格式相同.crx
  • Safari:只有使用与 Apple 签名的证书匹配的密钥签名时,您才能安装 Safari 扩展。有关签署.safariextz 文件的更多信息。
    完整性:Safari 拒绝安装无效的扩展。
    验证:使用 . 从扩展中提取证书xar -f path/to/name.safariextz --extract-certs output_dir然后检查第一个证书 ( output_dir/cert00) 是否与开发人员的证书相同(或至少检查属性(例如开发人员的 ID 和名称)是否合理)。

  • Internet Explorer:“扩展”是可以签名的.dll文件(BHOsigntool ,加速器,...),例如使用 Microsoft 的。
    验证:查看文件的属性,并检查签名是否被 Windows 视为有效。

  • ( NPAPI )插件:插件的二进制文件可以签名。