zoukankan      html  css  js  c++  java
  • 【Android】命令行jarsigner签字和解决找不到证书链错误

    1、签名失败

    $jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerify.apk ./XiaomiVerify.apk qulordy
    输入密钥库的口令短语: 
    jarsigner: 找不到 qulordy 的证书链。qulordy 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

    2、查看帮助

    $jarsigner -h
    用法:jarsigner [选项] jar 文件别名(key的别名)
           jarsigner -verify [选项] jar 文件
    
    [-keystore <url>]           密钥库位置
    
    [-storepass <口令>]         用于密钥库完整性的口令
    
    [-storetype <类型>]         密钥库类型
    
    [-keypass <口令>]           专用密钥的口令(如果不同)
    
    [-sigfile <文件>]           .SF/.DSA 文件的名称
    
    [-signedjar <文件>]         已签名的 JAR 文件的名称
    
    [-digestalg <算法>]    摘要算法的名称
    
    [-sigalg <算法>]       签名算法的名称
    
    [-verify]                   验证已签名的 JAR 文件
    
    [-verbose]                  签名/验证时输出详细信息
    
    [-certs]                    输出详细信息和验证时显示证书
    
    [-tsa <url>]                时间戳机构的位置
    
    [-tsacert <别名>]           时间戳机构的公共密钥证书
    
    [-altsigner <类>]           替代的签名机制的类名
    
    [-altsignerpath <路径列表>] 替代的签名机制的位置
    
    [-internalsf]               在签名块内包含 .SF 文件
    
    [-sectionsonly]             不计算整个清单的散列
    
    [-protected]                密钥库已保护验证路径
    
    [-providerName <名称>]      提供者名称
    
    [-providerClass <类>        加密服务提供者的名称
      [-providerArg <参数>]] ... 主类文件和构造函数参数

    3、寻找签名别名:

    首先,在用eclipse进行导出的时候是成功的。所以尝试重新导出应用可以看到别名,如下我的是 'qulordy key' :

    4、重新签名:

    $jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerify.apk ./XiaomiVerify.apk 'qulordy key'
    输入密钥库的口令短语: 
       正在添加: META-INF/MANIFEST.MF
       正在添加: META-INF/QULORDY_.SF
       正在添加: META-INF/QULORDY_.RSA
      正在签名: AndroidManifest.xml
      正在签名: classes.dex
       正在添加: res/
       正在添加: res/drawable/
      正在签名: res/drawable/icon.png
       正在添加: res/layout/
      正在签名: res/layout/main.xml
      正在签名: resources.arsc
  • 相关阅读:
    HTML5的页面资源预加载技术(Link prefetch)加速页面加载
    正则表达式入门教程
    SQL 查询分析器操作(修改、添加、删除)表及字段等
    linux终端相关概念解释及描述
    linux系统编程--守护进程,会话,进程组,终端
    linux系统编程--信号
    linux系统编程--进程间通信
    linux系统编程--进程
    Python GUI编程(Tkinter)(一)
    C++中时间转换
  • 原文地址:https://www.cnblogs.com/QuLory/p/3141039.html
Copyright © 2011-2022 走看看