APK签名之keytool生成keystore和jarsigner签名apk

原文地址:https://blog.csdn.net/wuxinzaiyu/article/details/9159297

第一步:生成keystore

keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -validity 20000

第二步:jarsigner签名apk

jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk android.keystore

附上keytool参数以及jarsigner参数:

keytool用法:

-certreq [-v] [-protected]

         [-alias <别名>] [-sigalg <sigalg>]

         [-file <csr_file>] [-keypass <密钥库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-changealias [-v] [-protected] -alias <别名> -destalias <目标别名>

         [-keypass <密钥库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-delete [-v] [-protected] -alias <别名>

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-exportcert [-v] [-rfc] [-protected]

         [-alias <别名>] [-file <认证文件>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-genkeypair [-v] [-protected]

         [-alias <别名>]

         [-keyalg <keyalg>] [-keysize <密钥大小>]

         [-sigalg <sigalg>] [-dname <dname>]

         [-validity <valDays>] [-keypass <密钥库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-genseckey [-v] [-protected]

         [-alias <别名>] [-keypass <密钥库口令>]

         [-keyalg <keyalg>] [-keysize <密钥大小>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-help

-importcert [-v] [-noprompt] [-trustcacerts] [-protected]

         [-alias <别名>]

         [-file <认证文件>] [-keypass <密钥库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-importkeystore [-v]

         [-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]

         [-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]

         [-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]

         [-srcprotected] [-destprotected]

         [-srcprovidername <源提供方名称>]

         [-destprovidername <目标提供方名称>]

         [-srcalias <源别名> [-destalias <目标别名>]

           [-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]

         [-noprompt]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-keypasswd [-v] [-alias <别名>]

         [-keypass <旧密钥库口令>] [-new <新密钥库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-list [-v | -rfc] [-protected]

         [-alias <别名>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

-printcert [-v] [-file <认证文件>]

-storepasswd [-v] [-new <新存储库口令>]

         [-keystore <密钥库>] [-storepass <存储库口令>]

         [-storetype <存储类型>] [-providername <名称>]

         [-providerclass <提供方类名称> [-providerarg <参数>]] ...

         [-providerpath <路径列表>]

jarsigner用法: [选项] jar 文件别名

   jarsigner -verify [选项] jar 文件

[-keystore ] 密钥库位置

[-storepass <口令>] 用于密钥库完整性的口令

[-storetype <类型>] 密钥库类型

[-keypass <口令>] 专用密钥的口令(如果不同)

[-sigfile <文件>] .SF/.DSA 文件的名称

[-signedjar <文件>] 已签名的 JAR 文件的名称

[-digestalg <算法>] 摘要算法的名称

[-sigalg <算法>] 签名算法的名称

[-verify] 验证已签名的 JAR 文件

[-verbose] 签名/验证时输出详细信息

[-certs] 输出详细信息和验证时显示证书

[-tsa ] 时间戳机构的位置

[-tsacert <别名>] 时间戳机构的公共密钥证书

[-altsigner <类>] 替代的签名机制的类名

[-altsignerpath <路径列表>] 替代的签名机制的位置

[-internalsf] 在签名块内包含 .SF 文件

[-sectionsonly] 不计算整个清单的散列

[-protected] 密钥库已保护验证路径

[-providerName <名称>] 提供者名称

[-providerClass <类> 加密服务提供者的名称

[-providerArg <参数>]] … 主类文件和构造函数参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值