您的位置:首页 > 移动开发 > Android开发

将Android源码中的公私钥对转换为keystore的方法

2014-11-17 13:24 218 查看


一、前言

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

使用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添加到了环境变量中。因为

在这里我将以platform为例进行讲解。

1.把build/target/product/security下面的某对需要转换的key拷贝到一个你的工作目录

2.执行:openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
执行该命令,将platform.pk8格式的私钥转换成pkcs12格式的[b]platform.pem文件[/b]


3.openssl pkcs12 -export
-in  platform.x509.pem -out platform.p12 -inkey
 platform.pem -password pass:android -name androiddebugkey

执行该命令,将生成密钥文件platform.p12 (注:此过程中需要输入密码:android)

4.keytool -importkeystore -deststorepass android -destkeystore platform.keystore -srckeystore platform.p12 -srcstoretype
PKCS12 -srcstorepass android -destkeypass android -alias
androiddebugkey
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android