keystore操作

1.运行时签名文件路径(debug)

  1. de>/home/xiaoq/.android/debug.keystore
  1. de>

2.生成签名文件(打包时使用)

  1. de >keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
  1. de>
  1. android.keystore为文件名

3.获取MD5和SH1

  1. de >keytool -list -v -keystore android.keystore -storepass 123456
  1. de>
  1. Android.keystore为文件名
  • 123456 为密码

  • 微信分享内的应用签名就是MD5

  • 百度地图SDK需要的SHA1就是SHA1

4.修改keystore文件密码

  1. de >keytool -storepasswd -new 新密码 -keystore android.keystore
  1. de>

5.修改keystore文件别名

  1. de >keytool -changealias -keystore android.keystore -alias 原别名 -destalias 新别名
  1. de>
  1. 6.修改keystore文件别名的密码
  1. de >keytool -keypasswd -alias 别名 -new android -keystore android.keystore
  1. de>
  1. 总结

Android开发中,在使用第三方的sdk(如,百度地图,微信分享,友盟统计等)提供的功能时通常都要事先申请密钥,在申请密钥时需要填写打包的keystore文件的数字签名(SHA1)。这样,只有使用打包的keystore文件生成的apk才能正常的调用这些第三方提供的功能。

那么如果我们把debug.keystore用我们打包的keystore文件替换掉,那么就可以共用数字签名

想要替换debug.keystore,那么打包的keystore文件的密码、别名等信息必须和默认debug.keystore的一样。

默认debug.keystore的信息如下:

  1. de >Keystore name: debug.keystore
  2. Keystore password: android
  3. Key alias: androiddebugkey
  4. Key password: android
  5. CN: CN=Android Debug,O=Android,C=US
  1. de>
  1. 具体操作参考上面的命令

附录

keytool命令

  1. de >-certreq [-v] [-protected]
  2. [-alias <别名>] [-sigalg <sigalg>]
  3. [-file <csr_file>] [-keypass <密钥库口令>]
  4. [-keystore <密钥库>] [-storepass <存储库口令>]
  5. [-storetype <存储类型>] [-providername <名称>]
  6. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  7. [-providerpath <路径列表>]
  8.  
  9. -changealias [-v] [-protected] -alias <别名> -destalias <目标别名>
  10. [-keypass <密钥库口令>]
  11. [-keystore <密钥库>] [-storepass <存储库口令>]
  12. [-storetype <存储类型>] [-providername <名称>]
  13. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  14. [-providerpath <路径列表>]
  15.  
  16. -delete [-v] [-protected] -alias <别名>
  17. [-keystore <密钥库>] [-storepass <存储库口令>]
  18. [-storetype <存储类型>] [-providername <名称>]
  19. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  20. [-providerpath <路径列表>]
  21.  
  22. -exportcert [-v] [-rfc] [-protected]
  23. [-alias <别名>] [-file <认证文件>]
  24. [-keystore <密钥库>] [-storepass <存储库口令>]
  25. [-storetype <存储类型>] [-providername <名称>]
  26. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  27. [-providerpath <路径列表>]
  28.  
  29. -genkeypair [-v] [-protected]
  30. [-alias <别名>]
  31. [-keyalg <keyalg>] [-keysize <密钥大小>]
  32. [-sigalg <sigalg>] [-dname <dname>]
  33. [-validity <valDays>] [-keypass <密钥库口令>]
  34. [-keystore <密钥库>] [-storepass <存储库口令>]
  35. [-storetype <存储类型>] [-providername <名称>]
  36. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  37. [-providerpath <路径列表>]
  38.  
  39. -genseckey [-v] [-protected]
  40. [-alias <别名>] [-keypass <密钥库口令>]
  41. [-keyalg <keyalg>] [-keysize <密钥大小>]
  42. [-keystore <密钥库>] [-storepass <存储库口令>]
  43. [-storetype <存储类型>] [-providername <名称>]
  44. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  45. [-providerpath <路径列表>]
  46.  
  47. -help
  48.  
  49. -importcert [-v] [-noprompt] [-trustcacerts] [-protected]
  50. [-alias <别名>]
  51. [-file <认证文件>] [-keypass <密钥库口令>]
  52. [-keystore <密钥库>] [-storepass <存储库口令>]
  53. [-storetype <存储类型>] [-providername <名称>]
  54. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  55. [-providerpath <路径列表>]
  56.  
  57. -importkeystore [-v]
  58. [-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]
  59. [-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]
  60. [-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]
  61. [-srcprotected] [-destprotected]
  62. [-srcprovidername <源提供方名称>]
  63. [-destprovidername <目标提供方名称>]
  64. [-srcalias <源别名> [-destalias <目标别名>]
  65. [-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]
  66. [-noprompt]
  67. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  68. [-providerpath <路径列表>]
  69.  
  70. -keypasswd [-v] [-alias <别名>]
  71. [-keypass <旧密钥库口令>] [-new <新密钥库口令>]
  72. [-keystore <密钥库>] [-storepass <存储库口令>]
  73. [-storetype <存储类型>] [-providername <名称>]
  74. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  75. [-providerpath <路径列表>]
  76.  
  77. -list [-v | -rfc] [-protected]
  78. [-alias <别名>]
  79. [-keystore <密钥库>] [-storepass <存储库口令>]
  80. [-storetype <存储类型>] [-providername <名称>]
  81. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  82. [-providerpath <路径列表>]
  83.  
  84. -printcert [-v] [-file <认证文件>]
  85.  
  86. -storepasswd [-v] [-new <新存储库口令>]
  87. [-keystore <密钥库>] [-storepass <存储库口令>]
  88. [-storetype <存储类型>] [-providername <名称>]
  89. [-providerclass <提供方类名称> [-providerarg <参数>]] ...
  90. [-providerpath <路径列表>]
  1. de>

来源:python脚本自动迁移

keystore文件的更多相关文章

  1. 如何查看Android的Keystore文件的SHA1值

    像使用百度地图api时候,一般需要获取keystore的SHA1值,这里就手把手教大家如何查看Android的keystore文件中的SHA1值. 第一步: 打开cmd,切换到keystore所在的文 ...

  2. Java KeyStore 用命令生成keystore文件

    1.生成keyStore文件 在命令行下执行以下命令: Shell代码 收藏代码 keytool -genkey -validity 36000 -alias www.zlex.org -keyalg ...

  3. Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件

    现在都流行 https,今天晚上花了二个小时,学习了一下,这里做个学习总结: 因为刚开始接触,就使用免费的:Let's Encrypt Let's Encrypt证书特点: 1. 现在主流的浏览器(c ...

  4. 以太坊钱包开发系列2 - 账号Keystore文件导入导出

    以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...

  5. 【keytool jarsigner工具的使用】Android 使用JDK1.7的工具 进行APK文件的签名,以及keystore文件的使用

    一个android apk的编译过程 请参考: http://www.2cto.com/kf/201312/261475.html 典型的编译过程: aapt( Android Asset Packa ...

  6. Java KeyStore 用命令生成keystore文件自己生成证书,简介

    1.生成keyStore文件 在命令行下执行以下命令: Shell代码 收藏代码 keytool -genkey -validity 36000 -alias www.zlex.org -keyalg ...

  7. [Android Pro] 查看 keystore文件的签名信息 和 检查apk文件中的签名信息

    1: 查看 keystore文件的签名信息 keytool -list -v -keystore keystoreName -storepass keystorePassword 2: 检查apk文件 ...

  8. 如何生成Android的keystore文件

    步骤   1 找到本机电脑上jdk安装的目录,使用cmd命令打开命令窗口,输入cd  jdk目录(替换成你的jdk的bin目录),进入到jdk的bin目录,接下来你才可以使用jdk的命令进行操作 步骤 ...

  9. 关于debug.keystore文件用法以及错误处理

    在开发过程中需要频繁的为测试的同事签名apk,非常很麻烦,把默认debug.keystore文件替换成发布用(生产环境)的签名文件,不用频繁地签名apk文件了.      如果直接使用生产keysto ...

  10. 替换默认debug.keystore文件

    最近在开发过程中需要频繁的为测试的同事签名apk,感觉非常很麻烦,于是就想把Intellij或是Eclipse使用的默认debug.keystore文件替换成发布用(生产环境)的签名文件,这样就可以直 ...

随机推荐

  1. [数学]高数部分-Part VII 微分方程

    Part VII 微分方程 回到总目录 Part VII 微分方程 微分方程的概念 一阶微分方程求解-变量可分离型 一阶微分方程求解-齐次型 一阶微分方程求解-一阶线性型 二阶常系数齐次D.E.求解: ...

  2. [CodeLife]记毕业后第一份工作

    记毕业后第一份工作与公司 写在前面--前言 已然临近21年五月,很快又是一年毕业季了,公司里来了应届的新人,忽然才意识到自己已经不是公司年龄最小的了((笑~).依稀还记得两年前,自己也是如他们那般青涩 ...

  3. [opencv]二维码识别率提升方案-resize调整

    这里采用循环resize的方式,对二维码图像进行放缩. 识别到name(二维码结果)不为空,则立即退出循环 //循环识别 for (int i = 1;name.empty(); i++){ resi ...

  4. CS5213demoboard设计电路|DMI转VGA带II2S音频输出转接线|CS5213方案

    CS5213是台湾CAPSTONE瑞奇达推出的一款HDMI(高清多媒体接口)到VGA转换芯片. CS5213设计HDMI转VGA带II2S转接线产品特性: ◇将完整的HDMI信号转换为VGA输出◇支持 ...

  5. docker学习:docker---centos安装

    查看目标镜像 docker search centos 拉取镜像 docker pull centos 查看镜像 docker images 启动镜像 docker run -itd --privil ...

  6. Zookeeper使用超级用户删除带权限的节点

    1.背景 Zookeeper管理员会因为某些客户端对某些节点设置了权限,而导致在紧急的情况下无法修改这些节点感到困扰.在这种情况下,管理员可以通过Zookeeper超级用户模式访问这些节点,一旦设置了 ...

  7. 初识python:斐波拉契数(列表获取)

    使用 列表 获取斐波拉契数,代码如下: n = int(input('您想获取前几个斐波拉契数?\n')) li = [] for i in range(n): if i <= 1: li.ap ...

  8. spring boot + spring security +JWT令牌 +前后端分离--- 心得

    1.前言 观看这篇随笔需要有spring security基础. 心得: 1.生成token 的变化数据是用户名和权限拼接的字符串 ,其他的固定 2.生成的token是将登录通过的用户的权限拼接的字符 ...

  9. linux 【阿里云服务器】 配置 redis 的正确流程

    1.前言 我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案. 2.操作[跟着步骤来] (1)指令cd /usr/local 进入local文件夹里面 ...

  10. kafka时间轮的原理(一)

    概述 早就想写关于kafka时间轮的随笔了,奈何时间不够,技术感觉理解不到位,现在把我之前学习到的进行整理一下,以便于以后并不会忘却.kafka时间轮是一个时间延时调度的工具,学习它可以掌握更加灵活先 ...