使用机构证书为jar包签名

来源:互联网 发布:当天 today sql 编辑:程序博客网 时间:2024/06/05 17:19

引言:

公司的java webstart项目里面的所有jar的签名即将过期,在网上没有查到类似的文章,走了不少弯路,特记载。


正文:

(非首次签名)

从认证机构颁布的下载后,只有一个.pem和.spc还有就是.txt的说明文档。说明文档里有java使用的是.pem。


因为非首次签名,前面留下的原始keystore(如果没有,下面会介绍),只需要将.pem文件导入到原始的keystore。

keytool -import -trustcacerts -keystorekeystore -storepassPASSWORD -alias NAME -file 7c7a91495c279.pem

:keystore是原始keystore,PASSWORD是设定的原始密码(提交时的密码,下面会介绍),NAME为别名。

这样生成的keystore就可以用于签名啦。


(首次签名)

1、genkey生成一个keystore(记住这个文件生成好后先备份个几份,今后证书续签时可能会用到);

keytool -genkey -aliasNAME -keypassPASSWORD -keyalg RSA -keysize 2048 -dname "CN=companyname,O=companyname LLC,C=US,ST=Texas,L=Wichita Falls" -keystorekeystore -storepass PASSWORD

注:companyname是公司的名,其他(CN=companyname,O=companyname LLC,C=US,ST=Texas,L=Wichita Falls)的按自己公司实际填写,keystore就是上面提到的原始keystore,PASSWORD就是原始密码,NAME为别名。

此步骤会生成以NAME命名的文件。

2、导出csr;

keytool -certreq -v -aliasNAME -file bb2.pem -keystorekeystore

此步操作完成后,会生成NAME.pem,现在要做的是将此NAME.pem,向证书机构提交csr后,证书机构会发一个证书;

3、等待机构审核通过后,下载证书,按照非首次签名的步骤进行操作,即可。