跳到主要内容
方的代码随记
返回

keytool 签名证书操作手册

更新于:

查看 jks 的 MD5 与 SHA1

keytool -v -list -keystore keystore.jks

从 APK 反查签名指纹

  1. 解压 APK,取出 META-INF/CERT.RSA——APK 的签名信息就存放在这个文件中。

    unzip -o -d $target_path xxx.apk
    • -o:不提示,直接覆盖目标文件
    • -d:指定解压到的目标目录
    • $target_path:解压路径
    • xxx.apk:待解压的 APK
  2. 用 keytool 查看签名指纹:

    keytool -printcert -file $target_path/META-INF/CERT.RSA

直接从签名证书查询

手上已有签名证书时,可以直接查询:

keytool -list -v -keystore $keystore_file [-storepass password]

生成 Google Play 自定义签名(pepk)

# keystore= 签名文件, alias= 别名, output= 输出文件
# encryptionkey= Google App 唯一标识 key
java -jar pepk.jar --keystore=rrummyybule.jks --alias=rrummyybule \
  --output=output.zip --include-cert \
  --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

快速生成 keystore

keytool -genkey -alias myTest -keypass myTest -keyalg RSA -keysize 1024 \
  -validity 10000 -keystore myTest.keystore -storepass ******

各参数含义:

参数含义
-alias别名,如 mykey
-keyalg密钥算法,如 RSA、DSA(默认 DSA)
-keysize密钥长度,如 1024
-validity证书有效天数,如 90、10000
-keystore密钥库路径与文件名
-storepass密钥库密码
-keypass别名条目(私钥)密码

keytool 常用命令速查

-genkey      创建默认文件 ".keystore",并产生别名 mykey(含公钥、私钥和证书)
-alias       产生别名
-keystore    指定密钥库名称
-keyalg      指定密钥算法(RSA / DSA)
-validity    指定证书有效期(天)
-keysize     指定密钥长度
-storepass   指定密钥库密码
-keypass     指定别名条目密码
-dname       证书拥有者信息,如 "CN=名字,OU=单位,O=组织,L=城市,ST=省份,C=国家代码"
-list        显示密钥库证书信息:keytool -list -v -keystore <keystore> -storepass <密码>
-v           显示详细信息
-export      导出别名证书:keytool -export -alias <别名> -keystore <keystore> -file <导出路径>
-file        指定导出文件名
-delete      删除密钥库条目:keytool -delete -alias <别名> -keystore <keystore>
-printcert   查看导出证书信息:keytool -printcert -file ****.crt
-keypasswd   修改条目口令
-storepasswd 修改 keystore 口令
-import      导入已签名数字证书

说明:Windows 上若未指定生成位置,keystore 会落在用户目录(如 C:/Documents and Settings/UserName/.keystore)。


分享这篇文章:

上一篇
MySQL 备份与数据导入导出
下一篇
兼容 Google Play 的应用签名