如何使用EV代码签名证书签署Adobe AIR® 应用程序
如果您需要为AIR应用程序发布 Adobe Flash 代码,EV代码签名证书是一个不错的选择。使用EV代码签名证书,您可以获得您和您的客户应得的扩展验证的所有好处。
在您获得EV代码签名证书之前,您的客户可以确信您的公司已经通过了严格的审查标准。您可以确信您的公司已采用硬件要求来帮助保护您的私钥安全。
一、配置 Java JDK 以使用 eToken
在开始使用EV代码签名证书对应用程序进行签名之前,您需要配置 Java 以使用 PKCS#11 令牌。
如果您使用的 Java Runtime Environment (JRE) 或 Java Development Kit (JDK) 版本与下面列出的版本不同,您将需要修改文件夹路径以匹配安装到您计算机的特定版本。
无论您在哪里看到双星号 ( ** ),都将它们 ( ** ) 替换为您正在使用的 JRE 或 JDK 的特定版本,例如:C:\Program Files (x86)\Java\jdk1.7.0_ 67 \bin。
1、从 Oracle.com 下载 JDK。
2、打开文本编辑器(例如记事本)并执行以下操作:
将以下两行复制并粘贴到文本(记事本)文档中:
name=eToken
library=c:\WINDOWS\system32\eTPKCS11.dll
将此文件作为eToken.cfg保存在适合您的 JDK 版本的目录中
注意:如果您运行的是 32 位版本的 Windows,则 Java JDK 安装在C:\Program Files\Java\…中。
3、运行写字板(开始 > 附件 > 写字板),打开 Java 运行时环境 (JRE) 安装中的java.security文件(例如C:\Program Files\Java\jdk1.7 ** \jre\lib\security),然后请执行下列操作:
在文件 ( Ctrl + F ) 中搜索以下行:
security.provider.10=sun.security.mscapi.SunMSCAPI
如果文件中不存在以下行,请将其添加到上面的行之后:
security.provider.11=sun.security.pkcs11.SunPKCS11 ./etoken.cfg
注意:./etoken.cfg是etoken.cfg 文件的路径,不能包含盘符(即必须和JDK 安装在同一个盘)。
当写字板询问您是否要将文件另存为纯文本文档时,请选择是。
4、打开 Windows 资源管理器并转到 JDK 安装文件夹(即C:\Program Files\Java\jdk1.7 ** \)。
5、按住shift键并右键单击bin 文件夹,然后选择Open command window here。
6、运行以下命令以找出您的证书存储在哪个令牌插槽中:
keytool -keystore NONE -storetype PKCS11 -list -J-Djava.security.debug=sunpkcs11
7、转到信息开始的信息显示顶部,并搜索类似于以下的行:
Slots with tokens:#
注意:其中#是一个数字,例如 0 或 2。如果使用的插槽为“ 0 ”,则跳至步骤 9。
8、从USB 驱动器中取出 eToken 设备几秒钟,然后将其插回,因为它一次只允许您运行一个 keytool 命令。
9、打开您在步骤 2中创建的文件 etoken.cfg ,更改slot=后的值以匹配上一个 keytool 命令中的插槽,然后保存文件。
name=eToken
library=c:\WINDOWS\system32\eTPKCS11.dll
slot=0
注意:0是默认插槽。如果您已将其他证书添加到令牌或重新键入/重新颁发您的证书,您可能有一个与默认值不同的数字。
二、通过命令行实用程序 ADT 签署代码
对于 JDK 版本 7 和更早版本:在运行 ADT 命令之前,确保它使用的是 32 位版本的 Java 而不是 64 位版本。
1、转到您下载 Adobe Air SDK 的文件夹,然后转到 bin 子文件夹。
2、制作文件 adt.bat 的备份(例如制作一份副本,上面写着adt – copy.bat)。
3、编辑 adt.bat 以指向 32 位 JDK 安装:
“C:\Program Files (x86)\Java\jdk1.7.0_05\bin\java.exe” -jar “%~dp0\..\lib\adt.jar” %*
按照以下步骤使用命令行工具Air Development Tool使用您的 EV 代码签名证书对您的 Adobe AIR 应用程序进行签名。
在一行中运行 ADT 命令来签署您的应用程序:
adt -sign -tsa http://timestamp.digicert.com -storetype PKCS11 -providerName SunPKCS11-eToken “path\to\YourApp.air”
如果命令成功运行,它应该询问您的密码,然后在完成后有一个空行并返回到命令行。
您现在已经使用EV代码签名证书对 AIR 文件进行了签名。