Android 生成 keystore 证书并查看 MD5 等签名信息(Android Studio、Keytool)

一、Keytool 创建证书

  • 记得安装 Java JDK,有 java 环境才能走下面的操作。

    # 检查是否安装了 JDK
    $ java --version
    
  • 生成 .keystore 证书,Keytool 指令详细介绍

    # 指令参数解释
    $ keytool -genkeypair -alias 别名 -keyalg RSA -keypass 密码 -validity 365(默认90天) -keystore server.keystore -storepass 密码
    
    # 案例指令,可以拷贝直接运行,注意:记录好【别名】跟【密码】
    $ keytool -genkeypair -alias dzm -keyalg RSA -keypass 123456 -validity 20000 -keystore ./server.keystore -storepass 123456
    
    # 细节:如果指令带上 -keysize 1024(密钥位数) 参数会报错:(所以去掉)
    # 生成的证书 使用的 1024 位 RSA 密钥 被视为存在安全风险。此密钥大小将在未来的更新中被禁用。
    
    • -genkeypair:原 -genkey,Java 1.6 之后更改,表示生成密钥对

    • -alias:产生别名,每个 keystore 都会关联这一个独一无二的 alias,alias 不区分大小写

    • -keyalg:指定产生密钥的算法

    • -keypass:指定别名条目的密码(私钥的密码)

    • -sigalg:签名算法名称

    • -dname:唯一判别名,cn 所有者名称,ou 组织单位名称,o 组织名称,l 城市或区域名称,st 州或省份名称,c 两字母国家代码

    • -validity:有效天数

    • -keystore:密钥库名称

    • -storetype:密钥库类型

    • -storepass:密钥库口令

  • 查看证书

    详细输出:

    $ keytool -list -v -keystore server.keystore -storepass 密码
    

    RFC样式输出:

    $ keytool -list -rfc -keystore server.keystore -storepass 密码
    
  • 导出证书

    $ keytool -export -alias server -keystore server.keystore -file server.crt -storepass 密码
    
  • 查看导出证书

    $ keytool -printcert -file server.crt
    
  • 客户端导入证书

    $ keytool -import -alias server -keystore server.keystore -file server.crt
    
  • 以上指令借鉴于 Keytool 生成证书

二、Android Studio 创建证书

  • 打开 Android Studio,找到菜单上的 Build

    image.png

    附:Android App Bundle 与 APK 有什么区别

    image.png

    新建一个证书,Password 后面的 Confirm 就是在输入一次,两次要一样。

    Android App 在打包成安装包时需要用到签名文件,不同的编译器生成的签名文件格式也不同。Eclipse 的签名文件是以 .ketstore 为后缀的文件;Android Studio 是以 .jks 为后缀的文件。

    image.png

    image.png

    image.png

  • 创建的证书也可以使用上面的 Keytool 指令查看 SHA1、SHA256 之类的。

三、查看证书 MD5 签名信息

猜你喜欢

转载自blog.csdn.net/zz00008888/article/details/135389552