Android签名文件制作指导
JDK中keytool 常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/UserName/文件名为“.keystore”)
-alias 产生别名
-keystore 指定**库的名称(产生的各类信息将不在.keystore文件中)
-keyalg 指定**的算法 (如 RSA DSA(如果不指定默认采用DSA))
-validity 指定创建的证书有效期多少天
-keysize 指定**长度
-storepass 指定**库的密码(获取keystore信息所需的密码)
-keypass 指定别名条目的密码(私钥的密码)
-dname 指定**库拥有者信息
-list 显示**库中的证书信息 -v参数显示详细信息
-export 将别名指定的证书导出到文件
-file 参数指定导出到文件的文件名
-delete 删除**库中某条目
-printcert 查看导出的证书信息
-keypasswd 修改**库中指定别名的密码
-storepasswd 修改**库的密码
-import 将已签名数字证书导入**库
下面是各选项的缺省值。
-alias "mykey"
-keyalg "DSA"
-keysize 1024
-validity 90
-keystore 用户宿主目录中名为 .keystore 的文件
-file 读时为标准输入,写时为标准输出
1. keystore的生成:
分阶段生成:
keytool -genkey-alias xxx(别名) -keypass xxx(别名密码) -keyalg RSA(算法) -keysize 1024(**长度) -validity 365(有效期,单位:天) -keystore x:/xxx.keystore(指定生成**库的位置和**库名称) -storepass 123456(**库密码);回车输入相关信息即可;
一次性生成:
keytool -genkey-alias xxx -keypass xxx -keyalg RSA -keysize 1024 -validity 365 -keystore x:/xxx.keystore -storepass 123456 -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)";(中英文即可)
2. keystore信息的查看:
keytool -list -v-keystore x:/xxx/xxx.keystore -storepass 123456
显示内容:
缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。
keytool -list -rfc-keystore x:/xxx.keystore -storepass 123456
显示内容:
3. 证书的导出:
keytool -export -aliasxxx -keystore x:/xxx.keystore -file x:/xxx.crt(指定导出的证书位置及证书名称) -storepass 123456
4. 查看导出的证书信息
keytool -printcert-file xxx.crt
在windows下可以双击xxx.crt查看
5. 证书的导入:
现在将xxx.crt 加入到xxx.keystore中:
keytool -import-alias xxx(指定导入证书的别名,如果不指定默认为mykey,别名唯一,否则导入出错) -file x:/xxx.crt -keystore x:/xxx.keystore -storepass 123456
6. 别名删除:
keytool -delete -alias xxx(指定需删除的别名) -keystore xxx.keystore -storepass 123456
7. 别名密码的修改:
keytool -keypasswd -aliasxxx(需要修改密码的别名) -keypass xxx(原始密码) -new 123456(别名的新密码) -keystore x:/xxx.keystore -storepass 123456
8. Keystore密码的修改:
keytool-storepasswd -keystore x:/xxx.keystore(需修改密码的keystore) -storepass 123456(原始密码) -new xxx(新密码)
9. 修改keystore中别名为xxx的信息
keytool -selfcert -alias xxx-keypass xxx -keystore x:/xxx.keystore -storepass 123456 -dname "cn=xxx,ou=xxx,o=xxx,c=cn"