A. uniapp安卓生成签名证书
安装JRE环境 建议低版本 转自https://ask.dcloud.net.cn/article/35777
使用keytool -genkey命令生成证书:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
JKS 密钥库使用专用格式。建议使用 " keytool -importkeystore -srckeystore android_cac.keystore -destkeystore android_cac.keystore -deststoretype pkcs12 " 迁移到行业标准格式 PKCS12。
B. 如何用Android 源码生成APK签名文件
我们很多应用需要用到系统签名,可以通过生成系统签名文件,在生成apk时使用这个签名,然后可以安装到机器中,不需要放在源码里编译,重新刷系统。
先附上 50和 20机器人通用的debugkey(图已经省略)
在linux环境中,以Android源码目录为根目录。
其中的platform.pk8是制作系统签名需要的文件。
1、在这个目录下,执行
生成临时文件platform.pem
2、接着执行以下命令,将在目录下生成platform.p12文件,它本质上应该就是一个数字证书
3、然后再执行以下命令出现以下信息,表示成功生成platform.jks
这个名字可以改成debug.keystore. 它的后缀本身是没有关系,eclipse和AS都识别 platform.jks
4、然后在打包 apk 的时候选择platform.jks文件,就可以直接用adb命令安装apk到机器中了。
xxxx表示需要安装的apk路径
5、签名的 Key store password和Key password都是android
C. android手机如何导入CA证书
1、打开手机“设置”里的“安全与隐私”,如下图所示。
D. 安卓7.0以上手机写入系统证书
记录一场手动写入系统证书
谷歌在安卓7.0修改了安全策略,用户添加的CA证书不能再用于安全连接,对于https传输的数据就抓取不到了,会显示<unknown>。
我的解决方法是将charles的CA证书安装进系统信任的证书目录下,这样在开启charles代理的时候,系统就会认为CA证书安全,从而可以获取https数据。
用 “openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem”计算出hash值,并将后缀设为0
生成hash后,替换对应名称重新生成文件
//cer格式
openssl x509 -inform DER -text -in xxx.cer > 0dd2455e.0
//pem格式
openssl x509 -inform PEM -text -in xxx.pem > 0dd2455e.0
然后通过设置charles代理就可以查看到https的数据了。
E. 如何生成android的BKS证书
android 系统中使用的证书要求以BKS的库文件结构保存,通常情况下,我们使用java的keytool只能生成jks的证书库,如果生成BKS的则需要下载BC库,如是JDK1.6则下载bcprov-jdk16-141.jar,且将该文件放到jdk1.6.0_03\jre\lib\ext目录下,然后运行以下命令即可以生成BKS的证书库和相应的证书。
keytool -genkey -alias <别名> -keypass <密钥口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <库文件名,如runcerts.keystore> -storepass <证书库密码> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
顶
1
踩
android 系统中使用的证书要求以BKS的库文件结构保存,通常情况下,我们使用java的keytool只能生成jks的证书库,如果生成BKS的则需要下载BC库,如是JDK1.6则下载bcprov-jdk16-141.jar,且将该文件放到jdk1.6.0_03\jre\lib\ext目录下,然后运行以下命令即可以生成BKS的证书库和相应的证书。
keytool -genkey -alias <别名> -keypass <密钥口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <库文件名,如runcerts.keystore> -storepass <证书库密码> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
顶
1
踩
F. 记一次Android模拟器安装系统证书
用到的工具
1、雷电模拟器android5.1版本,开启root
2、openssl
3、adb
4、fiddler
生成证书
1、打开fiddler - options - https - actions
2、选择Export Root Certificate to Desktop,将证书保存到桌面
3、我生成的证书名是FiddlerRoot.cer(证书名称后面会用到
#1. 证书转换,已经是pem格式的证书不需要执行这一步
In:openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
#2. 进行MD5的hash显示
#openssl版本在1.0以上的版本的执行这一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的执行这一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
# window重命名 为符合android规范名称
ren cacert.pem 269953fb.0
# 或 linux重命名
cp cacert.pem 269953fb.0
#传入手机
adb push 269953fb.0 /sdcard
#获取手机的root权限
adb shell
#挂载系统目录为可写
mount -o rw,remount /system
mv /sdcard/269953fb.0 /system/etc/security/cacerts
#修改证书权限
chmod 644 /system/etc/security/cacerts/269953fb.0
如果没有意外的话,运行结束后,证书就已经安装到系统证书中了,可以在模拟器中查看到。
遇到的问题
adb devices offline
adb版本太低
升级adb
G. 在线生成安卓证书
很多app打包工具自带开发证书,但是那是公共的证书,假如其他APP也用了这个证书,你的APP就会跟别的APP发生冲突,因此上架APP前,必须更换成自己的证书。
假如使用java的命令行工具也可以生成证书,但是比较麻烦,这里提供一种方便的方式生产安卓证书,可以在线生成:
https://www.yunedit.com/createcert
输入证书密码等信息就可以生成证书了。
H. 如何生成Android的签名证书
cmd命令生成android签名证书,有空在写一篇eclipse导出带签名的apk,这里面包括生成新的签名。现在还是讲讲在cmd怎么操作生成签名证书。
1、dos下进入JDK的bin目录
运行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天数),命令完成后,bin目录中会生成android.keystore
示例:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d:\test.keystore
ps:-alias test 生成的keystore别名,-keyalg RSA 加密和数字签名的算法,-validity 20000 有效天数
输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?
[Unknown]: rob
您的组织单位名称是什么?
[Unknown]: abc
您的组织名称是什么?
[Unknown]: abc
您所在的城市或区域名称是什么?
[Unknown]: guangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: guangzhou
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, C=cn是否正确?
[否]: y
输入 <test> 的密钥口令
(如果和密钥库口令相同, 按回车):
如果没有错误则回去查看D盘根目录下,多了test.keystore
所以第一次输入的是,密钥库的密码。
最后输入时密钥别名的密码。到这里生成签名就搞定啦。
2、查看md5指纹验证
输入keytool -list -v -alias androiddebugkey -keystore 再加上刚刚从红色框中复制出来的内容
我这里的就是keytool -list -v -alias androiddebugkey -keystore C:\Users\ZLQ\.android\debug.keystore了,回车
-alias androiddebugkey 这个是别名
-keystore C:\Users\ZLQ\.android\debug.keystore 具体位置的密钥库
要求输入密码,密码是android,至此就可以拿到MD5认证指纹了
I. Android自有证书生成指南
Android部署打包apk应用,需要用上数字证书进行签名,来表明身份的。
安卓证书可以使用Java的keytool工具生成,以下是window平台生成的方法:
一、安装java
可访问Oracle官方去安装java: https://www.java.com/zh_CN/download/win10.jsp
下面已安装目录“C:UsersxabscDownloadsjdk-16.0.1”为例,实际操作请修改自己的安装目录
安装java完成后,打开安装目录,找到bin文件夹,如果里面有keytool.exe这个文件,那么下面的安卓证书就能搞了
注意:1. testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
2. test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
J. flutter 安卓签名证书生成
1. keystore 的生成
=>
2.安卓工程配置 keystore
1. key.properties 内容
2. app build.gradle