数字签名的制作方法整理.docx
- 文档编号:12252202
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:14
- 大小:21.09KB
数字签名的制作方法整理.docx
《数字签名的制作方法整理.docx》由会员分享,可在线阅读,更多相关《数字签名的制作方法整理.docx(14页珍藏版)》请在冰豆网上搜索。
数字签名的制作方法整理
Io用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给6个月)
2。
用JARSigner用此密匙为JAR签名。
可以用同一个密匙来为多个JAR签名。
注意:
大小写,签名一致,数字签名过期
为什么JAR要被签名?
当用户启动一个JavaNetworkLaunchingProtocol(JNLP,Java网络加载协议)文件或使用一个applet时,这个JNLP或applet可能请求系统提供一些非一般的访问。
比如“文件打开”等进行这样的请求,就需要签名的JAR。
如果它是匿名的,系统会询问用户是否打算信任JAR的签署者。
1.首先生成签名文件,执行完成后,会在本目录内生成一个.keystore的密钥文件,2kByte人小。
yourProj是别名keypass后面是密文密码,keystore密码是存储密码(要改变此文时需要输入确认此密码)
在dos命令提示状态卞输入
C:
\DocumentsandSettings\Administrator>keytool-genkey-aliasyourProj-keypassyourCompany:
Kouling
[回车],屏幕提示:
输入keystore密币马:
yourCompany:
yourPassword
您的名字与姓氏是什么?
[Unknown]:
ChinayourCompany
您的组织单位名称是什么?
[Unknown]:
ChinayourC
您的组织名称是什么?
[Unknown]:
Company
您所在的城市或区域名称是什么?
[Unknown]:
City
您所在的州或省份名称是什么?
[Unknown]:
Province
该单位的两字母国家代码是什么
[Unknown]:
CN
CN=ChinayourCompany,OU=ChinayourC0=CompanyzL=City,ST=Province,C=CN正确
吗?
[否]:
丫
2•为此密钥加有效期限:
7200天,将近20年•[嘿嘿,足够用了吧?
再也别想6个月]输入命令:
-keypass
C:
\DocumentsandSettings\Administrator>keytool-genkey・aliasyourProj
yourCompany:
Kouling-selfcert-validity7200
屏幕提示:
输入keystore密码:
yourCompany:
yourPassword
注意:
-validity7200这个就是加时效的参数,7200单位是“天”。
检查密钥文件,输入命令:
C:
\DocumentsandSettings\Administrator>keytool・list
屏幕提示:
输入keystore密码:
yourCompany:
yourPassword
Keystore类型:
jks
Keystore提供者:
SUN
您的keystore包含1输入
yourProj,2009-5-15,keyEntry,
认证指纹(MD5):
D4:
9D:
C7:
3A:
91:
B4:
30:
6A:
4D:
50:
Fl:
7C:
E7:
F5:
B9:
49
说明已经生成成功完成!
3•开始为Jar包文件签名
用JARsigner工具
切换到项目jar包所在目录
D:
\yourPassworcTs-works\yourProj\webroot\app的目录
输入dir可以看到:
2009-04-3018:
37
37
2009-04-3017:
55
2009-04-3018:
37
56,317commons-logging-l.l.jar
550,863yourCompany-app-vl.O.l.jar
输入命令:
jarsigner-verbose-certscommons-logging-l.l.jaryourProj
注:
verbose输出详细信息
certs表示验证此jar包时输出证书信息
屏幕提示:
输入密钥库的I丨令短语:
yourCompany:
you「Password
输入yourProj的密钥11令:
yourCompany:
Kouling
正在添加:
META-INF/YOURPROJ.SF
正在添加:
META-INF/YOURPROJ.DSA
正在添加:
org/
正在添加:
org/apache/
正在添加:
org/apache/commons/
正在添加:
org/apache/commons/logging/
正在添加:
org/apache/commons/logging/impl/
接着输入:
D:
\yourProj\webroot\app>jarsigner-verbose-certsyourCompany-app-vl.O.l.jaryourProj
屏幕提示:
输入密钥库的I丨令短语:
yourCompany:
yourPassword
输入yourProj的密钥II令:
yourCompany:
Kouling
正在添加:
META-INF/YOURPROJ.SF
正在添加:
META-INF/YOURPROJ.DSA
正在添加:
org/
注意:
重要签名给yourCompany-app-vl.O.l.jar文件,但它使用了另外的几个commonsxxxx包,也要签名,否则将来使用时会提示签名不一致的错误!
4。
打开jar包文件的META-INF目录可以看到
yourProj.SF
yourProj.DSA
以及被扩充的MANIFEST.MF文件
表明已经加入了签名文件
Java数字签名(DigitalSignature)的批处理文件制作
制作以下5个批处理文件:
set.cmd
setJDK_BIN=E:
\z,ProgramFiles,z\Java\jdkl.6.0_24\bin
setKEY_FOLDER=E:
\DigitalSignature
key.cmd
callset.cmd
%JDK_BIN%\keytool-genkey
-keystore%KEY_FOLDER%\cuckoo.keystore-aliascuckoo<
KEY_ANSWER.1st
%JDK_BIN%\keytool-selfcert
-keystore%KEY_FOLDER%\cuckoo.keystore-aliascuckoo-validity
1000 %JDK_BIN%\keytool-export -keystore%KEY_FOLDER%\cuckoo.keystore-aliascuckoo -file%KEY_FOLDER%\cuckoo.cer 注: KEY_ANSWER.1st和KEY_PWD.1st为输入重定向文件,从文本文件里读每行來回答命令行的问题,换行回车作为提交。 -validity后面跟签名有效期,以天为单位,默认是半年 例: KEYANSWER.1st password password RenJian TheCUCKOOWorkgroup SunYat-senUniversity Guangzhou Guangdong CN 是 (后面加两个换行) KEY_PWD.1st password (换行) selfsign,cmd %JDK_BIN%\jarsigner-keystore%KEY_FOLDER%\cuckoo.keystore%1cuckoo sign,cmd callset・cmd callselfsign,cmd%1 batchsign,cmd callset・cmd for%%Nin(%1\*.jar)docallselfsign,cmd%%N 使用说明: 1.在set.cmd中设置JDK_BIN文件夹位置和存放Key的文件夹位置 2.运行key.cmd产生key 3.单个文件签名 命令: sign,cmd[jar] 4.对指定文件夹下所有文件批量签名: 命令: batchsign,cmd[jar_folder] javakeytool使用总结(转) 2011-08-1615: 34 Keytool是一个Java数据证书的管理工具,Keytool将密钥<key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据: 密钥实体(Keyentity)——密钥(secretkey)又或者是私钥和配对公钥(采用非对称加密) 叫信任的证书实体(trustedcertificateentries)只包含公钥 ailas(别名)每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写 JDK中keytool常用命令: -genkey在用户主目录中创建一个默认文件keystore^,还会产生一个mykey的别名•mykey中包含用户的公钥、私钥和证书 (在没有指定生成位盘的情况下,keystore会存在用户系统默认目录.如: 对干windowxp系统.会生成在系统的 C: \DocumentsandSettings\UserName\文件名为"・keystore") -alias产生别名 -keystore指定密钥库的名称(产生的各类信息将不在.keystore文件中) -keyalg抬定密钥的算法(如RSADSA(如果不指定默认采用DSA)) -validity指定创建的证书有效期多少天 -keysize扌打定密钥长度 -storepass指定密钥库的密码(获取keystore信息所需的密码) -keypass扌H定别名条目的密码(私钥的密码) -dname指定证书拥有者信息例如: "CU名字与姓氏,02组织单位名称,0=组织名称,L二城市或区域名称,ST二州或省份名称,C二甲位的两字母国家代码" -list显示密钥库中的证书信息keytool-list-v-keystore指定keystore-storepass密码 -v显示密钥库中的证书详细信息 -export将别名抬定的证书导出到文件keytool-export-alias需要导出的别名-keystore扌H定keystore-file 定导出的证书位置及证书名称-storepass密码 -file参数指定导出到文件的文件名 -delete删除密钥库中某条目keytool-delete-alias指定需删除的别-keystore抬定keystore-storepass密码 -printcert査看导出的证书信息keytool-printcert-fileyushan.crt -keypasswd修改密钥库中指定条目口令keytool-keypasswd-alias需修改的别名-keypass旧密码-ne戏新密码 -storepasskeystore密码-keystoresage -storepass宵df煖改keystore匚I令keytool-storepasswd-keystoree: \yushan・keystore(需纟参改口令(內keystore) -storepass123156(原始密码)-newyushan(新密码) -import将已签名数字证书导入密钥库keytool-import-alias指定导入条目的别名-keystore抬定keystore-file需导入的证书 下面是各选项的缺省值。 -alias"mykey" -keyalg"DSA" -keysize1021 -validity90 -keystore用户宿主目录中名为・keystore的文件 -file读时为标准输入.写时为标准输出 1.keystore的生成: 分阶段生成: keytool-genkey-aliasyushan(别名)-keypassyushan(别名密码)-keyalgRSA(算法)-keysize1024(密钥长度)-validity365(有效期,天轨位)-keystore e: \yushan.keystore(Ifi定生成证书的位置和证书名称〉-storepass123156(获取keystore信息的密码): 回车输入相关信息即可: 一次性生成: keytool-genkey-aliasyushan-keypassyushan-keyalgRSA-keysize1024-validity365-keystore e: \yushan・keystore-storepass123156-dname"C\=(名字与 姓氏),02(组织单位名称),0=(组织名称),L=(城市或区域名称),ST=(州或省份名称),C二仲位的两字母国家代码)": (中英文即可) 2、keystore信息的査看: keytool-list-v-keystoree: \keytool\yushan・keystore-storepass123156 显示内容: Keystore类型: JKS Keystore提供者: SUN 您的keystore包含1输入 别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证[1]: 所有者: CHyushan,0U=xx公可,0二xx协会,潭,ST=湖南,C二中国 签发人: C\=yushan,OOxx公可,0二xx协会,1=湘潭,ST=湖南,C二中国序列号: 4a6f29ed 有效期: WedJul2900: 10: 13CST2009至ThuJul2900: 40: 13CST2010证书折纹: MD5: A3: D7: D9: 74: C3: 50: 7D: 10: C9: C2: 17: BO: 33: 90: 45: C3 SHAl: 2B: FC: 9E: 3A: DF: C6: C4: FB: 87: B8: A0: C6: 99: 43: E9: 4C: 4A: El: 18: E8 签名算法名称: SHAlwithRSA 版本: 3 缺省情况下.-list命令打印证书的MD5指纹。 而如果描定了r选项.将以可读格式打印证书.如果折定了-rfc选项.将以可打印的编码格式输出证书。 keytool-list-rfc-keystoree: \yushan・keystorre-storepass123156 Keystore类型: JKS Keystore提供者: SUN 您的keystore包含1输入 别名乞称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证[1]: BEGINCERTIFICATE MIICSzCCAbSgAwIBAgIESm8p7TANBgkqhkiG9uOBAQUFADBqMQ8wDQYDVQQGDAbkuK31m70xDzAN BgN\rBAgNIBua51u^lzEPNfA0GAlUEB^5rmY5r2tMREw^YDVQQKDAh4e0WNj+S8mjER5fA8GAlUE CwwIeHjlhazlj7gxDzANBgNVrBAMTBnllc2hhbjAeFwOwOTA3MjgxXjQwMTNaFwOx5fDA3MjgxNjQw MTNaMGoxDzANBgNVrBABlBuS4reWbvTEPMA0GAlUECAwG5rmW5Y2XMQ8wDQTOVQQHDAbmuZjmva0x ETAPBgX\TBAoMCHh45Y2P5LyaMREwDwTOVQQLDAh4e0W? r0ft? uDEPMA0GAlUEAxMGeXVzaGFuMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJorulRQczRzTnBWxefVTNspQBykS220rS8Y/oX3mZa hjL4wLf0URzUuxxuVQR2jx7QI+XKME+DHQj9r6aAcLBCi/TljwF8mVYxtpRuTzE/6KEZdhowEe70 liWLVE+hytLBHZ03Zhwcd6q5HUMu27du3MPQvqiwzTY7MrwIvQQ8iQIDAQABMA0GCSqGSIb3DQEB BQUAA4GBAGoQQl/FnTfkpQh+Ni6h3fZdn3sR8ZzDMb0AIYVLAhBb85XDJ8QZTarHbZMJcIdHxAll i08ct3E8U87V9t8GZF%VC4BFg/+zeFEv76SFpVE56iX7Pljpsu78z0m69hHlds77VJTdyfMSvtXvsYHP3fxfzx9WyhipBwd8VPK/NgEP ENDCERTIFICATE 3.证书的导出: keytool-export-aliasyushan-keystoree: \yushan・keystorre-filee: \yushan・crt(指定导[釣证书位盘及证书名称)-storepass123156 4.査看导出的证书信息 keytool-printcert-fileyushan・crt 显示: (在windowsF可以双击yushan.crt查看) 所有者: CHyushan,0U=xx公可,0二xx协会,LMI9潭,ST=湖南,C二中国 签发A: CN=yushan,OOxx公可,0=xx协会,1=湘潭,ST=湖南,C二中国序列号: 4a6f29ed 有效期: WedJul2900: 10: 13CST2009至ThuJul2900: 40: 13CST2010证书指纹: MD5: A3: D7: D9: 74: C3: 50: 7D: 10: C9: C2: 47: BO: 33: 90: 45: C3 SHAl: 2B: FC: 9E: 3A: DF: C6: C4: FB: 87: B8: A0: C6: 99: 43: E9: 4C: 4A: El: 18: E8签名算法名称: SHAlwithRSA 版本: 3 5s证书的导入: 准备一个导入的证书: keytool-genkey-aliasshuany-keypassshuany-keyalgRSA-keysize1024-validity365-keystoree: \shuany・keystore-storepass123156-dname"CN=shuany, 0U=xx,0=xx,L=xx,ST=xx,C=xx": keytool-export-aliasshuany-keystoree: \shuany・keystore-filee: \shuany・crt-storepass123456 现在将shuany.crt加入到yushan.keystore中: keytool-import-aliasshuany(ffi定导入证书的别名.如果不扌H定默认为mykey,别名唯一,否则导入出错)-filee: \shuany・crt-keystoree: \yushan・keystore-storepass 123156 keytool-list-v-keystoree: \keytool\yushan・keystore-storepass123156 显示: Keystore类型: JKS Keystore提供者: SUN 您的keystore包含2输入别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证[1]: 所有者: C\=yushan,OOxx公可,0二xx协会,潭,ST=湖南,C二中国 签发K: CN=yushan,OOxx公可,0二xx协会,潭,ST=湖南,C二中国序列号: 4a6f29ed 有效期: WedJul2900: 10: 13CST2009至ThuJul2900: 40: 13CST2010证书指纹: MD5: A3: D7: D9: 74: C3: 50: 7D: 10: C9: C2: 47: BO: 33: 90: 45: C3 SHAl: 2B: FC: 9E: 3A: DF: C6: C4: FB: 87: B8: A0: C6: 99: 43: E9: 4C: 4A: El: 18: E8 签名算法名称: SHAlwithRSA 版本: 3 别名名称: shuany 创建日期: 2009-7-29 输入类型: trustedCertEntry 所有者: CN=shuany,0U=xx,0=xx,L=xx,ST=xx,C=xx 签发人: CNshuany,0U=xx,0=xx,L=xx,ST=xx,C=xx 序列号: 4a6f2cd9 有效期: WedJul2900: 52: 11CST2009至ThuJul2900: 52: 41CST2010证书指纹: MD5: 15: 03: 57: 9B: 14: BD: C5: 50: 21: 15: 47: 1E: 29: 87: A4: E6 SHAl: Cl: 4F: 8B: CD: 5E: C2: 94: 77: B7: 42: 29: 35: 5C: BB: BB: 2E: 9E: F0: 89: F5 签名算法名称: SHAlwithRSA 版本: 3 6s证书条目的删除: keytool-delete-aliasshuany(抬定需删除的别名)-keystoreyushan.keystore-storepass123156 7s证书条目口令的修改: keytool-keypasswd-aliasyushan(需要修改密码的别名)-keypassyushan(原始密码)-n许123156(别名的新密码)-keystoree: \yushan・keystore-storepass123156 8skeystore口令的修改: keytool-storepasswd-keystoree: \yushan.keystore(需修改口令的keystore)-storepass123156(原始密码)-newyushan(新密码) 9.修改keystore中别名为yushan的信息 keytool-selfcert-aliasyushan-keypassyushan-keystoree: \yushan・keystorre-storepass123156-dname"cn=yushan,ou=yushan,o=yushan,c=us
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字签名 制作方法 整理