代码签名证书申请的详细步骤

发布时间:2018/6/18 16:24:58 打印 字号:

1、下载签名工具;

使用签名工具中的keytool,jar,jarsigner来申请代码签名证书和数字签名您的代码。

2、注册

(1)生成私钥和公钥对(Keystore)创建一个密钥库

使用以下命令生成私钥和公钥对:
要生成公钥/私钥对,请输入以下命令,为密钥库指定名称和别名。

c:\ jdk1.5 \ bin \ keytool -genkey -keyalg rsa -keystore <keystore_filename> -alias <alias_name>

Keytool会提示您输入私钥密码,您的姓名(您的姓名,填单位网址),您的部门名称,单位名称,所在城市,所在省份和国家缩写(中国填:CN,其他国家填其缩写)单位名称一定要与证明文件上的名称一致,部门名称(OU)可以不填。除国家缩写必须填CN外,其余都可以是英文或中文。请一定要保存好您的私钥和私钥密码,我们不会要求您提供私钥文件!
Keytool提示您输入密码库,您的姓名,组织和地址的密码。keytool生成的公钥/私钥对保存到您的密钥库,并用于签署Java Applet和应用程序。此密钥永远不会发送给他人,并且需要签署代码。建议您制作公钥/私钥对的副本,并将其存储在保险箱或其他安全位置。如果钥匙丢失或被盗,请立即联系CA机构撤销。

(2)生成证书请求文件(CSR)生成CSR

请使用如下命令生成证书请求文件(CSR):
注册过程生成证书签名请求(CSR),以下命令请求Keytool为密钥库中的密钥对创建CSR:

c:\ jdk1.5 \ bin \ keytool -certreq -file certreq.csr -keystore <keystore_filename> -alias <alias_name>

请把生成的certreq.csr文件提交给Gworg的客服人员。

复制CSR的内容将它们直接粘贴到VeriSign注册表单中。在不添加额外字符的文本编辑器中打开文件(建议使用记事本或Vi)。

3、开始使用

(1)导入签名证书

一旦Gworg验证了您的真实身份,将会颁发证书给您。下载证书时,请选择PKCS#7格式证书(PKCS#7证书链),此证书格式含有您的证书和根证书链,Keytool要求此格式证书,请把证书保存到您的电脑中。
一旦验证您的身份,将发送一封确认电子邮件,附有您的代码签名证书。收到后,附加的代码签名证书将保存到计算机上的文件中。代码签名证书是返回Gworg根证书的“信任路径”或“链接”。这个“信任路径”允许您的代码在任何标准JRE上进行验证,而无需安装任何其他文件。

请使用如下命令导入您的证书到keystore中,这里假设您的证书名称为:cert.cer,请同时指明详细路径,一旦成功导入证书,请及时备份您的keystore文件:
导入您的签名代码将证书签入您的密钥库,请输入以下代码,其中包含文件路径正确的名称(例如“cert.cer”)。

c:\ jdk1.5 \ bin \ keytool -import -trustcacerts -keystore <keystore_filename> -alias <alias_name> -file cert.cer

(2)将Applet代码打包成JAR文件捆绑Applet插入到JAR文件中

请使用jar把您的Java代码打包成JAR文件,此JAR文件包含了当前目录及其子目录的所有Applet文件:
使用jar将您的Applet或应用程序捆绑为JAR文件。此字符串创建一个JAR文件C:\ TestApplet.jar。JAR文件包含当前目录及其子目录下的所有文件。

c:\ jdk1.5 \ bin \ jar cvf C:\ TestApplet.jar

运行后,Jar会显示:Jar回应:

添加清单
添加:TestApplet.class(in = 94208)(out = 20103)(
放大78%)添加:TestHelper.class(in = 16384)(out = 779)(deflated 95%)

(3)数字签名Applet签署你的Applet

使用jarsigner签名您的JAR文件,最后的参数Mycert为Keystore中
签名证书的别名:使用jarsigner使用您保存在密钥库中的私钥对JAR文件进行签名。

c:\ jdk1.5 \ bin \ jarsigner C:\ TestApplet.jar MyCert

(a)会提示您输入私钥密码,请使用您在第1步设置的密码;
在提示符下,输入密码库的密码。

(b)请输入.jar文件的完整路径和文件名,MyCert就是您在生成私钥和CSR时使用的别名<alias_name>;
在命令语法中,TestApplet表示您的JAR文件的名称和位置。MyCert必须指定与生成密钥对和证书签名请求(CSR)时使用的值相同的值。

(C)Jarsigner会生成您的代码摘要(Hash),并把此摘要和您的签名证书添加到JAR文件中
。Jarsigner散列您的Applet或应用程序,并将哈希存储在JAR文件中,并附有您的代码签名证书。

如果您已经有了从其他电脑上备份的密钥库文件(如:wotonecs.jks),则可以使用如下命令来签名JAR文件,最后的参数wotonecs为密钥库中签名证书的别名:

c:\ jdk1.5 \ bin \ jarsigner -keystore wotonecs.jks C:\ TestApplet.jar wotonecs

(d)使用以下命令验证已经签名的JAR文件验证您签名的JAR文件的输出。

c:\ jdk1.5 \ bin \ jarsigner -verify -verbose -certs c:\ TestApplet.jar

一旦成功签名,就可以把已经签名的JAR文件放到网上供用户下载了,用户端的Java的系统会显示您的签名证书信息,如果已经签名的文件被篡改或损坏,则系统会提醒用户并拒绝安装。
当签名的JAR文件被下载,Java运行时环境将显示您的证书给用户。如果文件在签名后以任何方式被篡改,用户将被通知并给予拒绝安装的选项。

代码签名证书是保护开发者的劳动成果,给自己开发的软件签名的证书,保证代码在签名之后不被恶意篡改。用户可通过对代码的数字签名来标识软件来源,辨别软件开发者的真实身份。Gworg的代码签名证书支持多种代码签名,已通过WEBTRUST国际认证。