火狐浏览器插件(XPI 文件)签名指南
Symantec,Thawte,GlobalSign 签发的代码签名证书都可以签名火狐浏览器插件(XPI)文件。如果您还没有代码签名证书,请联系易维信(EVTrust)购买火狐代码签名证书。
第 1 步:下载有关签名工具
请先到 Mozilla FTP 网站下载最新的网络安全服务包 (Network Security Services ,简称: NSS) : ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/ ,对于 Windows 操作系统,NSS 包:nss-3.9.zip 的存放目录为: NSS_3_9_RTM/WINNT5.0_OPT.OBJ/ ,并解包到目录: c:\foxsign\nss-3.9\ ;
还需要下载最新的 Netscape Portable Runtime 包 ( 简称: NSPR) : http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/ ,对于 Windows 操作系统, NSPR 包: nspr-4.6.zip 的存放目录为: v4.6/WINNT5.0_OPT.OBJ/ ,并解包到目录: c:\foxsign\ nspr-4.6\ ;
您还需要有压缩软件,推荐用 WinRAR ,并把 c:\foxsign\nss-3.9\bin\;c:\foxsign\nss-3.9\lib\; c:\foxsign\nspr-4.6\lib\;C:\Program Files\WinRAR 等目录添加系统路径上,以便 DOS 方式下能正常使用以上签名工具。
第 2 步:创建证书存储库文件
在 DOS 方式下输入以下命令,请不要漏了 -d 后面的“ . ”:
c:\foxsign> certutil -N -d .
Enter a password which will be used to encrypt your keys.
The password should be at least 8 characters long,
and should contain at least one non-alphabetic character.
Enter new password:
Re-enter password:
输入密钥管理密码后 (请记牢,以后签名时要用到),会在该目录下生成 3 个证书存储库文件: cert8.db 、 key3.db 和 secmod.db 。
第 3 步:导入PFX格式的代码签名证书到证书存储库
您已经申请了Symantec代码签名证书,并已经得到 PFX 格式的证书文件;请在 DOS 方式下输入以下命令,请不要漏了 -d 后面的“ . ”:
c:\foxsign> pk12util -i mycs.pfx -d .
Enter Password or Pin for "NSS Certificate DB":
Enter password for PKCS12 file:
pk12util: PKCS12 IMPORT SUCCESSFUL
先输入您在第 2 步设置的证书存储库管理密码,再输入您在导出 PFX 证书时设置的密码即可,会提示“ PKCS12 IMPORT SUCCESSFUL(PKCS12 格式证书导入成功 ) ” (PKCS12 格式就是 PFX 格式 ) 。
第 4步:导入根证书和中级根证书,并检查证书是否正常导入
PFX 格式证书中本身已经含有证书颁发者的根证书和中级根证书,但由于 NSS 签名工具Signtool 不支持证书链 (Mozilla 承认这是一个 Bug),您需要联系易维信(EVTrust)获取rootCA.cer,subCA.cer文件,并保存工作目录下,如: c:\foxsign\rootCA.cer 和 c:\foxsign\subCA.cer 。并在 DOS 方式下输入以下命令,请不要漏了 -d 后面的“ . ”:
c:\foxsign> certutil -A -n " Root CA " -t "TC,TC,TC" -d . -i "rootCA.cer"
c:\foxsign> certutil -A -n " Sub CA " -t "c,c,C" -d . -i "subCA.cer"
并输入以下命令检查根证书和代码签名证书是否成功导入证书存储库中:
c:\foxsign> certutil -L -d .
22689013c 2abed23ee 6c 9a 95410b4_7dc62150 -9c 81-4ee5-8d03-1b 67c 2ba1fc2 u,u,u
WoSign Code Signing Authority - The USERTRUST Network C,C,C
UTN - USERFirst-Object CT ,C,C
如果显示以上信息,就表明证书导入成功,请注意第 1 行一直到“ u,u,u ”之前的一长串字符,这是系统自动分配的您的代码签名证书的证书别名 (alias) ,后面签名时会用到。
第 5 步:数字签名火狐插件XPI文件
本签名指南使用 Mozilla 网站上的一个插件 (Adblock Plus) ,原插件是没有签名的 ( 参见后面附图 ) ,在 c:\foxsign 目录下新建一个 signed 目录,再把 XPI 文件解包后的文件拷到此目录下,并在 DOS 方式下输入以下命令,请不要漏了 -d 后面的“ . ”,命令中的 alias 复制上一步看到的证书别名,如: 22689013c 2abed23ee 6c 9a 95410b4_7dc62150 -9c 81-4ee5-8d03-1b 67c 2ba1fc2 ,而命令中的 password 就是证书存储库管理密码:
c:\foxsign> signtool -d . -k alias -p password signed/
using certificate directory: .
Generating signed/META-INF/manifest.mf file..
--> chrome/adblockplus.jar
--> chrome.manifest
--> components/nsAdblockPlus.js
--> components/nsAdblockPlus.xpt
--> defaults/preferences/adblockplus.js
--> install.js
--> install.rdf
Generating zigbert.sf file.
tree "signed/" signed successfully
从最后一行可以看出:已经签名成功!会在 signed/ 目录下生成一个 META-INF 子目录,此目录中有 3 个文件: zigbert.rsa 、 manifest.mf 和 zigbert.sf ,请注意:文件 zigbert.rsa 含有签名信息,签名后不得修改和删除 signed/ 目录下的所有文件,否则会提示签名验证失败而无法安装 。
第6步:重新打包为XPI文件
把 signed/ 目录下的文件使用压缩工具打包成 zip 文件,推荐使用 WinRAR ,并使用 DOS 方式打包,因为 XPI 签名要求打包文件中的第一个文件是含有签名信息的 zigbert.rsa ,否则无法正常验证签名,而一般的压缩软件是按照字母顺序排列文件的。所以,必须先做一个指定压缩顺序的列表文件 list.txt ,如本例:
META-INF\zigbert.rsa
META-INF\manifest.mf
META-INF\zigbert.sf
chrome\adblockplus.jar
chrome.manifest
install.rdf
install.js
components\nsAdblockPlus.js
components\nsAdblockPlus.xpt
defaults\preferences\adblockplus.js
再在 DOS 方式下输入: c:\foxsign> winrar a test.zip @list.txt 然后把.zip 文件改名为 .xpi 文件即可: c:\foxsign> ren test.zip test.xpi 这样,完成了XPI文件的签名,可以放到网上供用户下载安装了!
第7步:测试和演示已经签名的XPI插件
本指南的签名过程使用了 Mozilla 网站上的一个插件 (Adblock Plus) ,原插件是没有签名的,在火狐浏览器中点击运行时会显示“未签名”,如图1所示:
使用火狐浏览器运行 Google 为火狐浏览器定制的 搜索工条插件 ,会显示软件发行者名称为: Google Inc.( http://dl.google.com/firefox/google-toolbar-win.xpi ) ,如图2所示:
转载于:https://www.cnblogs.com/TIlifeng/p/5385742.html
火狐浏览器插件(XPI 文件)签名指南相关推荐
- 浏览器插件crx文件怎么导入到谷歌浏览器
浏览器插件crx文件怎么导入到谷歌浏览器 作为开发人员,我们少不了和浏览器插件打交道,比如Fehelper插件. 我们下载的插件格式基本都是crx为后缀名的,下载好了之后,我们可以直接拖动插件文件到浏 ...
- 浏览器插件crx文件--JS混淆与解密
下载了一个浏览器插件,文件后缀是 ".crx" ,想更改某些功能. crx其实就是zip压缩文件,重命名将文件后缀名改为".zip"格式 ,解压文件 . 文件目 ...
- 火狐浏览器插件大全,火狐插件大全,firefox插件使用方法
使用火狐有一段时间了,装了N多插件以后自己也越来越离不开火狐了. 许多人不习惯用这个浏览器,因为刚下载回来的光杆司令除了浏览速度快点外和 IE 没什么区别. 其实火狐的特色在于扩展,优势在于开源,大家 ...
- 火狐浏览器插件_期待!全新安卓正式版Firefox火狐浏览器,将支持97个插件
一直以来,无法在手机浏览器上安装各种方便的插件都是许多用户心中的遗憾.此前,扩展迷也曾给大家介绍过一款能够在手机上使用Chrome插件的kiwi和Yandex浏览器.但是直到现在,这两种浏览器在国内都 ...
- ntko web firefox跨浏览器插件_Firefox火狐浏览器插件全部失效解决方法
5月5日,由于Mozilla公司忘记更新用于签署Firefox插件的安全证书,当证书过期,导致新的插件下载安装失败,并阻止现有的插件正常工作. PC版解决方法 1.启动Studies(Firefox选 ...
- 如何下载安装与火狐浏览器不兼容的火狐浏览器插件
首先 我们在火狐的插件仓库里寻找自己需要的插件 点我进入插件仓库 我们可以看到这个插件和火狐浏览器当前版本不兼容,它不允许我们下载了,其实我们只要点击我标出的按钮,进入下一个页面 进入页面 审查元素 ...
- 【技术贴】火狐QQ空间音乐插件下载+火狐进空间没背景音乐崩溃解决+火狐浏览器插件推荐...
火狐QQ空间没声音火狐QQ空间崩溃火狐空间没音乐崩溃火狐QQ空间没音乐没声音 火狐进入QQ空间音乐不能播放以及进入空间崩溃的解决办法.见文章末尾. 火狐浏览器需要添加的插件.大集合下载地址.以及文字说 ...
- python selenium 实现在火狐浏览器上下载文件(涉及firefox下载文件相关的配置)
在这个案例中最重要也是我花了主要精力解决的问题就是火狐浏览器下载文件时会自动弹出下载弹框的这个问题. 解决这个问题可以参照以下步骤(本次案例中要下载的文件格式为dotx文件,如果有其他格式的文件要修改 ...
- 火狐浏览器插件HTTPFOX抓传输数据
打开火狐浏览器 工具--附加组件--搜索HTTPFOX--安装--重启浏览器 Start 随意输入用户名 密码 ok 转载于:https://blog.51cto.com/8134954/1 ...
最新文章
- HTML4.0标准语法--表格
- C语言中自动变量栈的分配
- Orchard中如何配置远端发布
- gulp + browsersync实现页面自动刷新
- ANT简明教程[转载]
- 【转】Magento2 安装系列一 虚拟机、CentOS7 安装
- 从IT的角度思考BIM(二):模式与框架
- 渐变色彩艺术海报背景素材|感官刺激、个性突出
- 30个Python小游戏,小白练手,我都能玩一天【内附源码】
- 三菱q系列plc连接电脑步骤_三菱plc连接电脑步骤
- vscode win10笔记本 蓝屏_老鸟教你win10开机蓝屏0xc000000d的详尽解决办法
- 很多IT从业者感觉到中国程序员前景一片灰暗,事实是如此吗?
- 文件夹自定义重命名的步骤
- xp 无法关闭计算机,xp系统不能关机解决方法
- 大数据(3i)Sqoop安装和操作
- 山东理工acm非专业-顺序结构
- C#不四舍五入保留两位小数
- 锐捷服务器无线认证配置,【WLAN从入门到精通之对接案例】配置802.1X认证示例_Web(锐捷SAM服务器)...
- Ubuntu16.04编译Android 6.0系统源码过程简要记录总结
- nng 服务器底层给管道设置安全描述符,开启listen,实现与chrome跨进程通信
热门文章
- 应该如何经营一家便利店?
- 2021年基金什么时候布局?
- 从自媒体引流到私域池
- 人为什么必须积极有为?
- 概率论-随机事件及其概率
- cds5516舵机控制程序_[电力世界]中的应用程序CDS
- linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017
- tf.nn.sigmoid_cross_entropy_with_logits 分类
- Git安装教程(windows)
- CF 799B T-shirt buying