linux 根据.x509.pem .pk8 生成keystore
一、前言
goolge为我们提供了4个标准的key,以签名测试程序:
testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system. 它们位于Android源码的以下目录
android\build\target\product\security
注意,这些key只是用于工程版的Android系统.在编译时android源码时,使用eng选项即表示编译生成工程版的Android系统,
而使用user选项时表示编译用户版(即正式版)的Android系统。
二、使用key生成keystore文件
使用google的标准key生成keystore文件。我们需要2个工具,openssl (cryptography and SSL/TLS toolkit) and keytool。
openssl是Linux上的一个工具,keytool则是JDK的一个工具,它位于JDK\bin目录。在此假设你已经把JDK\bin添加到了window的path环境变量中。因为一般用户使用的是window系统,
所以我这里把Cygwin安装在window上来模拟Linux环境,在Cygwin上使用opnssl.
关于Cygwi的详细内容请参考《cygwin安装详解》。
2.1、命令行方式
在这里我将以platform为例进行讲解。
通过“Cygwin Terminal”的进入Cygwin的命令行,然后切换到key所在的目录。即security目录.
输入以下命令:
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
执行该命令,将在目录下生成platform.pem文件
接着输入以下命令:
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name androiddebugkey
执行该命令,将在目录下生成platform.p12文件,它本质上应该就是一个数字证书。
进入DOS命令行,切换到key所在的目录。即security
然后输入命令:
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
执行该命令,将在目录下生成platform.jks文件,它就是我们需要的keystore文件。它的后缀本身是没有关系。如果你更喜欢其后缀名为keystore。
上面的命令改成这样就行了。
keytool -importkeystore -deststorepass android -destkeystore ./platform.keystore -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
另外,我方便我们可以使用批处理来进行处理。
通过“Cygwin Terminal”的进入Cygwin的命令行,然后切换到key所在的目录。即security目录.
使用sh ./export.sh命令运行export.sh文件.
export.sh文件如下:
#!/bin/sh
FILES=`find . -name "*.pk8"`
cat > generateKeystore.bat << END
rem autogenerated file
END
for FILE in $FILES
do
FILE_NAME=`echo $FILE | awk -F.pk8 '{print $1}'`
if [ -f ${FILE_NAME}.pem ]
then
echo "file ${FILE_NAME}.pem exists"
else
`openssl pkcs8 -inform DER -nocrypt -in ${FILE} -out ${FILE_NAME}.pem`
fi
`openssl pkcs12 -export -in ${FILE_NAME}.x509.pem -out ${FILE_NAME}.p12 -inkey ${FILE_NAME}.pem -password pass:android -name androiddebugkey`
cat >> generateKeystore.bat << END
keytool -importkeystore -deststorepass android -destkeystore ${FILE_NAME}.jks -srckeystore ${FILE_NAME}.p12 -srcstoretype PKCS12 -srcstorepass android
END
done
在运行完成后,将在当前目录看到若干*pem文件,*.p12文件及一个generateKeystore.bat文件,window中直接双击运行它。这时你将看到生成的*.jks文件,它们就是我们需要得keystore文件。
generateKeystore.bat文件如下:
rem autogenerated file
keytool -importkeystore -deststorepass android -destkeystore ./media.jks -srckeystore ./media.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./shared.jks -srckeystore ./shared.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./testkey.jks -srckeystore ./testkey.p12 -srcstoretype PKCS12 -srcstorepass android
linux 根据.x509.pem .pk8 生成keystore相关推荐
- 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限. signa ...
- 签名证书keystore,jks,pk8,x509.pem
.keystore,.jks本身是一个东西,没有区别:在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀: 生成.keystore http://w ...
- keystore文件转换格式为pk8+x509.pem
android 一般除了使用jarsigner签名 还有使用signapk 后者位于android源码 前者位于jdk中.两者使用的文件格式不同前者使用JKS 后者使用公钥+私钥 是分开的 第一步 先 ...
- 关于keystore 证书转*.x509.pem 和*.pk8
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- 创建自己的pk8, x509.pem并给app签名
1, 生成key 命令: keytool -genkey -v -keystore app.keystore -alias gundam_wing -keyalg RSA -validity 2000 ...
- platform.pk8 和platform.x509.pem转jks
/** OpenSSL */ 下载地址:http://slproweb.com/products/Win32OpenSSL.html 安装教程(OpenSSL安装教程_香辣奥利奥的博客-CSDN博客 ...
- 利用platform.x509和platform.pk8生成系统签名文件
platform.x509和platform.pk8文件是不能被Android studio直接使用的,需要转换成.jks签名文件才能使用. 生成步骤如下: 1.下载并解压keytool-import ...
- 生成keystore以及导出keystore公钥,私钥信息
有时候需要做一些证书,特别是安卓接入SDK,提交包什么的需要填入公钥私钥信息,可能需要RSA 1024位或其他位数的信息. 这里提供一个能获取keystore信息和公钥私钥的命令. openssl我就 ...
- android studio生产签名文件,Android Studio 生成 keystore 签名文件
Android Studio 生成 keystore 签名文件 常见 SSL 证书格式 : .DER .CER,文件是二进制格式,只保存证书,不保存私钥. .PEM,一般是文本格式,可保存证书,可保存 ...
最新文章
- 自动根据动态的intput计算值
- 全球最美的15座数据中心
- spring连数据库的配置文件(applicationContext.xml)
- 牛客 - tokitsukaze and Inverse Number(树状数组+逆序对定理)
- 数据报套接字服务端和客户端
- (转)PJAX的实现与应用
- iPhone 13系列或将涨价?业内人士:可能性不大,原因有这几点
- 一根绳子从一头烧需30时分钟_小学生一分钟跳绳满分训练指南
- 《Linux 就是这个范儿 - 阅读笔记2》 融于心而表于行(1)
- Linux中的查找命令find、which、whereis
- thinkphp mysql存储过程_MySql存储过程的创建与使用及在thinkphp中如何调用笔记
- 【超参数寻优】粒子群算法(PSO) 超参数寻优的python实现
- 张超超OC基础回顾01_类的创建,申明属性,以及本质
- Xcode包管理工具Alcatraz
- java .class文件和.class文件区别是什么?
- 材料模拟python_关于材料计算,模拟,仿真什么区别?
- linux 双显卡 黑屏 amd,彻底解决AMD显卡win10开机黑屏问题
- android项目版本,怎查看Android项目的Android版本
- 西游记中唐僧师徒的不同性格
- Flask项目之手机端租房网站的实战开发(一)
热门文章
- python取整的几种方法,Python中取整的几种方法小结
- java 独木桥_趣味算法——青蛙过河(JAVA)
- symbian s60 字符串操作
- 厌倦了SE11/SE16N? 告诉你如何在Excel中查看SAP的表数据
- 代码静态分析思维体操—扇入、扇出、圈复杂度
- 深度学习中的卷积操作
- ffmpeg视频模糊处理,降噪处理
- Android常用框架收藏!!!
- Java_格式化日期和时间
- 将UTC时间(2018-07-03T10:18:58.000Z)转换为北京时间