Android平台签名证书(.keystore)生成指南

Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。

Android证书的生成是自助和免费的,不需要审批或付费。

可以使用JDK环境中的keytool命令生成。以下是windows平台生成证书的方法:

本文使用jdk 1.8自带的keytool命令生成Android平台签名证书

安装JDK环境

jdk安装

生成签名证书

使用keytool -genkey命令生成证书:

以管理员身份打开命令提示符进入到JDK bin目录下执行下面命令

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\test.keystore
  • testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  • 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期 

回车后根据提示填写信息

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  
  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  
  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  
  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  
  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  
  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  
  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //确认上面输入的内容是否正确,输入y,回车  

Enter key password for   
        (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

以上命令运行完成后就会生成证书,路径为“D:\test.keystore”。

查看证书信息

可以使用以下命令查看:

keytool -list -v -keystore test.keystore  
Enter keystore password: //输入密码,回车

输出下图信息:

Android平台签名证书(.keystore)生成指南_第1张图片

其中证书指纹信息(Certificate fingerprints):

  • MD5
  • 证书的MD5指纹信息(安全码MD5)
  • SHA1
  • 证书的SHA1指纹信息(安全码SHA1)
  • SHA256
  • 证书的SHA256指纹信息(安全码SHA25)

android studio工程使用签名证书打包

在项目的app目录下的build.gradle中进行签名的配置,signingConfigs 需要写在defaultConfig 和buildTypes 前面,不然会编译报错。

signingConfigs {
  release {//发布版本的签名配置
      storeFile file(props['KEYSTORE_FILE'])
      keyAlias props['KEY_ALIAS']
      storePassword props['KEYSTORE_PWD']
      keyPassword props['KEY_PWD']
  }
  debug {//调试版本的签名配置
      storeFile file(props['DEBUG_KEYSTORE'])
      keyAlias props['DEBUG_ALIAS']
      storePassword props['DEBUG_KEYSTORE_PWD']
      keyPassword props['DEBUG_KEY_PWD']
  }
}

你可能感兴趣的:(android,https,ssl)