1,下载最新的网络安全服务(NSS)包从Mozilla的FTP站点:
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/
对于Windows,你会希望在的NSS_3_9_RTM/WINNT5.0_OPT.OBJ /文件夹的NSS-3.9.zip包 。
(2)解压缩到本地文件夹的归档文件的内容。在我的情况下,C:\ APPS \ NSS-3.9 \
3。从Mozilla的FTP站点下载最新版本的Netscape便携式运行时
http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/
对于Windows,在v4.6/WINNT5.0_OPT.OBJ /文件夹,你会希望NSPR-4.6.zip包。
(4)提取的存档文件到本地文件夹的内容。在我的情况下,其C:\ APPS \ NSPR-4.6 \
5,加入NSS工具斌/
lib /目录下,并在NSPR的lib /
目录到系统路径。您可以设置始终通过
控制面板- >系统属性- >高级- >环境
变量- >系统变量或做它每次运行
命令行(最好使用批处理文件)的工具。
Windows包含它自己版本的这些文件(例如
certutil.exe)在系统目录(\ WINDOWS \ SYSTEM32 \),以便确保
新的路径在PATH搜索列表中的第一个。
C:\> SET PATH = C:\ APPS \ NSS-3.9 \ BIN \ C:\ APPS \ NSS-3.9 \ LIB \,C:\ APPS \ NSPR-4.6 \ LIB \;%PATH%
6,审查NSS工具文档
7。 初始化凭证资料库。
确定哪个文件夹创建证书数据库。使用这个命令来创建它(请注意尾随点)。
代码: |
C:\项目\代码签名\> CERTUTIL-N-D。 |
点会导致数据库被创建在当前目录。
系统将提示您的NSS证书数据库密码 -
不要忘记它!
代码: |
C:\ \代码签名\> CERTUTIL-N-D 输入密码,该密码将用于加密密钥。 密码应至少为8个 字符长, 并应至少包含一个非字母字符的项目。 输入新密码: |
创建一个测试证书,新证书的使用-p选项来设置一个密码。
代码: |
C:\项目\代码签名\>的signtool-G myTestCert。-P“密码”, 使用证书目录。 警告:执行此操作的浏览器运行时,可能会导致 输入的证书信息。所有的字段都是可选的。可接受的 |
x509.cacert将用于签上你的XPI包。它存在于文件系统和数据库中的证书:
代码: |
C:\项目\代码签名\> DIR X509 *
14/12/2005 C:\项目\代码签名\> CERTUTIL-D。-L |
8,准备好您的XPI文件签署
刚刚签署创建一个新的文件夹,复制现有的XPI,
解压缩(保持路径),删除XPI和返回的
证书数据库文件夹。
*假设你有一个zip实用程序可以在您的系统路径。这个例子是使用Cygwin的垃圾桶/ zip.exe的工具。
内部管理的子目录结构正常。7-Zip的工具不创建Mozilla的的XPI签署档案时,您可以使用一个图形化的ZIP工具,因为它排序目录条目按字母顺序排列,Mozilla的要求的第一项META-INF/zigbert.rsa。
代码: |
C:\ \代码签名的项目\> MD签署
C:\ \代码签名的项目\>复制到C:\项目\ FSB \,FSB 已复制1个文件(S) 。XPI签署 C:\ \代码签名的项目\> CD签署 C:\项目\代码签名\>解压缩FSB。XPI
C:\ \代码签名的项目\> DEL FSB签署。XPI C:\ \代码签名的项目\签署“>”CD。 |
9。注册您的XPI
代码: |
C:\项目\代码签名\> signtool-D。-K myTestCert-P“密码”符号/ 使用证书目录: / / META-INF/MANIFEST.MF文件。发电机签署.. - >铬/ fsb.jar - > chrome.manifest的 - > install.rdf的 生成zigbert.sf 签署文件。树“/”签署成功 |
重新包装你的XPI 10。
切换到符号/文件夹,创建一个新的zip 文件中列出的第一个META-INF/zigbert.rsa,再加入剩余的文件。
代码: |
C:\项目\证书\> CD签署
C:\项目\代码签名\ \>邮编FSB。XPI META-INF/zigbert.rsa
C:\ \代码签名的项目\签订> ZIP-R-D的前端总线。XPI -X META-INF/zigbert.rsa
|
11。暂时安装到您的Mozilla浏览器的测试证书颁发机构
重命名的x509.cacert的前面生成的文件X509。证书
它导入到Mozilla Firefox浏览器作为一个软件开发者的证书颁发机构。来自Mozilla的Firefox浏览器删除证书,一旦你已经完成测试
火狐 1.5:从“工具”菜单中选择“选项” - >“高级” - >安全性- >查看证书- >机构
火狐 1.0:从“工具”菜单中选择“选项” - >“高级” - >“证书” - >管理证书- >机构
按“ 导入 “按钮。
导航到文件夹包含x509.cert,选择了它。
在“ 下载证书 “对话框中,选中“信任此CA识别软件开发商。按浏览按钮,如果你想更加紧密地检查证书。
按“确定”按钮,你会看到你的新证书的主管部门清单。
12。尝试安装签署延长
无论是拖放或浏览并下载签名XPI。Mozilla的Firefox的 软件安装对话框出现时的证书的组织的名称将出现在Firefox中显示无符号。
13。获得一个有效的软件开发人员的代码签名证书
现在你知道它的所有作品,你需要添加一个真正的软件开发人员的
证书的NSS证书数据库,并用它来 签署的XPI。有几个发行人的软件开发者证书,三个关键的差异:可用性,成本和身份验证。
许多发行人不能提供一个软件开发者证书,
个人(多么可笑),所以你可能需要搜索很难找到一个
,谁也有一个在Mozilla Firefox中安装CA根证书颁发机构。
如果没有证书的发行商Mozilla的Firefox的
CA根证书,将无法确认您的证书的有效性,用户要
安装的扩展。
理想情况下,你想有一个根CA安装在所有
主要的平台(微软Windows的Sun Java 的Firefox /浏览器,Mozilla的/ Netscape的歌剧)的证书,所以你只使用一个证书签署的所有软件,无论在哪个平台是为。
最便宜的普遍支持(如Mozilla,如Java,Microsoft)
证书似乎是魔岛即时SSL提供。你可以得到一个免费的的证书的开源开发 Unizeto Certum,但他们的根证书是目前唯一在Mozilla
Firefox和Opera浏览器(而不是使用Java或Microsoft)。
下面是一些目前发行人:
您将需要一个代码签名证书
申请和满足发行人的身份验证程序。
然后,他们将发出一个签名的证书。当您收到签署的
证书,它必须被导入到证书数据库中。
你一定没有意识到这一点,你的浏览器会在后台生成一个新的私有密钥和代码签名请求(CSR) 。CSR将被上传到发行人。后来,你必须使用相同的浏览器时,密钥和证书对安装新的证书,因为必须要装配在一起。
提示:当申请证书,确保组织(O)包含您的姓名,而不是发行人的默认文本,因为这是显示给用户的是什么。
在本指南中,我申请了一个免费的从Unizeto Certum证书。
填写申请过程中,我进入我的个人资料
在网上申请后,我收到一封自动发送的电子邮件,要求
我的ID照片的ID或类似的形式的证明文件。
我有我的护照和驾驶执照的高分辨率扫描的图像,
对于这些情况,所以我把它们放在我的网络服务器暂时在一个
隐蔽的位置,并通过电子邮件发送Unizeto Certum的细节和
位置的文件。
在几个小时内,我收到一封确认电子邮件从一个人
接受的ID图像,并给了我一个超链接的资格证书
下载区。
安装证书到Mozilla 的Firefox(这与前面创建的私钥),并复制/粘贴到一个新的文本文件名 为Ç所显示的证书:\项目\代码签名\ Certum代码Signing.cer
14。安装真正的证书
有两个步骤需要安装新的NSS证书数据库的代码签名证书。
-
安装发行人的证书颁发机构根
安装密钥和证书
根CA建立信任您的证书。许多发行人
有多个不同程度的信任的根CA。找出哪
一个是您的证书和下载。
在Mozilla Firefox中,您可以查看您的证书的详细信息,并得到这个信息的发布由共同的名字(Unizeto Certum的免费证书CA是Certum的I级)。
下载根CA和任何中间证书,用于签名
的证书由发行人自己的网站上
的某个地方有一个链接到他们的根CA和公共证书。(Certum公共密钥“页)。我下载了Certum根CA和Certum的电平我的
数字ID为WWW和SSL / TLS服务器,复制文本,并将它们保存到文件C:\项目\代码签名\ Certum根CA.cer和
C:\项目\代码签名\ Certum级别I.cer。
打开一个命令提示符(NSS工具的路径设置为在
第5步)中的代码签名的文件夹,发行人安装CA证书,
并检查他们已正确添加。
代码: |
C:\项目\代码签名> CERTUTIL-A-N“Certum根CA”-T“TC,TC,TC”-D。-我“Certum根CA.cer”
C:\项目\代码签名> CERTUTIL-A-N“Certum级别I”-T“C,C,C-D。-我“Certum水平I.cer” C:\ \代码签名> CERTUTIL-L-D。 |
新颁发的证书在Mozilla Firefox中
的密钥库的名称是不是最简单的别名在世界记住了,所以我
添加了一个额外的步骤,让您重新命名它(它不只是一个
简单的重命名操作,不幸的是) 。
要查找的名称,在Mozilla Firefox浏览器浏览到证书管理器(在第11步),选择“您的证书”,选择新的证书,按浏览,选择详细信息看证书字段树视图中的第一项。
我的Unizeto Certum证书被命名为“TJ的Unizeto SP。z oo与ID“但我想它被称为”代码的签名(Certum)“。
关键是要安装的证书(无键),
在这一点上给你选择的昵称。当密钥/证书对
进口来自Mozilla的Firefox浏览器之后,私有密钥将被
添加,但证书的名称将保持不变。
代码: |
C:\项目\代码签名> CERTUTIL-A-N“守则的签名(Certum)的”-t“U,U,U”-D。-我“Certum代码Signing.cer”
C:\项目\> CERTUTIL-L-D。 C:\项目\代码签名> signtool-L-D 对象签名证书 |
现在,你必须从Mozilla Firefox的证书数据库和到NSS证书数据库中导出新的密钥/证书对。
最难的部分是定位Mozilla的主要数据库。它由两个文件命名key3.db的cert8.db,
他们通常居住在Mozilla Firefox的
用户配置文件夹。我发现我在Ç:\的Documents and Settings \ TJ \应用数据\ Mozilla的\
火狐 \概况\ xxxxxxxx.default \ xxxxxxxx是一个随机字符串。
此过程假定您在步骤13中,在Mozilla Firefox中安装了新的证书。
下面是需要将它导出到一个文件中,导入的
代码签名数据库,并验证的签约属性(ü,ü,ü)的命令。
确保您使用您的证书的昵称代替我的,和
所在的目录Mozilla的Firefox的密钥数据库文件是:
代码: |
C:\ \代码签名的项目 pk12util-O的“Certum代码Signing.pkcs12”N“:TJ的Unizeto SP。z oo与 ID“-D”C:\文件和设置\ TJ \应用 数据\ Mozilla的\ 火狐 \概况\ xxxxxxxx.default“ 请输入密码PKCS12文件: 重新输入密码: pk12util:PKCS12出口成功 C:\项目\代码签名> pk12util我“Certum代码Signing.pkcs12”-D C:\ \代码签名> CERTUTIL-L-D。 |
你应该注意到,现有的证书已被更新。
15。自己的真实签名证书
这是重复的步骤8,9和10使用真正的证书的细节。下面是输出一个test目录:
代码: |
C:\项目\代码签名>:signtool-D。-K“守则的签名(Certum)”-P *******测试 使用的证书目录。 生成检验/ META-INF / manifest.mf文件.. - > test.txt的 生成zigbert.sf文件。 树成功地签署了“测试” |
警告:目前NSS signtool
不
包括在签名证书(zigbert.rsa“)的证书链。
这意味着火狐会拒绝安装签名的代码通过一个
中间证书颁发机构如Certum I级,除非用户安装该证书到Firefox的第一个。
一个错误报告
已经提出与NSS的团队找到一种方法,允许
用于代码签名证书链。请发表您的支持意见
的bug有NSS的团队知道这是什么,很多
人都希望有。
16。将签署到您的构建过程中
到您现有的构建过程中,您可能希望将这些步骤。我有一个build.bat中的文件,它可以自动创建的JAR,XPI文件。这个例子是使用的Cygwin斌/ zip.exe工具的。
build.bat中被放置在扩展的根文件夹中。例如:
/dev/fsb/build.bat
/dev/fsb/install.rdf
/dev/fsb/chrome.manifest
/dev/fsb/chrome/
/dev/fsb/chrome/content/
/dev/fsb/chrome/locale/
/dev/fsb/chrome/skin/
在这里,它是代码签名的步骤包括:
代码: |
@ ECHO OFF 集x =%CD% 回音建筑%X%。XPI 回声开始在%DATE%%TIME%%X%\ build.log MD构建\镀 铬 拉链-R CD “0”%X%。罐子“* >>%%\ build.log 将“%X%。罐子”.. \编译\铬>>%X%\ build.log CD。 复制install.rdf的构建>>%X%\构建日志 复制chrome.manifest的构建>>%X%\ build.log的 signtool.exe-D C:\项目\代码签名-K“守则的签名(Certum)”-P“密码”建立/ >>%X%\构建日志 CD构建 拉链“%X%。XPI “META-INF/zigbert.rsa >>%X%\ build.log 拉链-R-D“%X%。XPI “*-X META-INF/zigbert.rsa %X%\ build.log 物权复制“%X%。XPI “.. \ .. \ .. \ HTTP \ FSB。XPI >>%%\ build.log 将“%X%。XPI “。 \ >>%×%\ build.log 32 CD。, 第三届编译/ S / Q 附和完成。 |
确保您的NSS证书数据库的密码,更换密码。