android生成签名,android签名生成工具,Android系统制作自定义签名的例子

android生成签名,android签名生成工具,Android系统制作自定义签名的例子

本文主要介绍了在Android系统中制作自定义签名的例子,具有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。

1、简介

在客户的要求下,为了让特别定制的系统更加安全,系统ROM需要使用自己定义的签名,也有一些特殊场景会改变系统签名。比如cts认证测试通过时也会修改平台签名,从而通过签名测试。

这是因为平台默认使用测试签名。大部分网络签名都是app签名而不是平台签名。

Test这种类型的密钥只适用于开发阶段,而且这个密钥是公开的,任何人都可以使用。

当你发布一款安卓产品的时候,你需要为整个系统再签一个名字,防止被别人盗用。该系统是Android系统的发布版本。

这里简单记录一下方法吧。

2、制作自己的平台release签名

要对Android系统进行签名,需要生成四种类型的密钥文件。

a)释放键

b)媒体

c)共享

d)平台

下面以platform为例简单介绍一下生成过程。

1)进入/Android源码根目录/development/tools目录。

2)使用make_key工具生成签名文件。

开发/工具$ sh make_key平台

/C=CN/ST=山西/L=西安/O=公司/OU=部门/CN=banfeipeng/email address=23333869 @ QQ . com '

输入“共享”的密码(空白表示无;密码将是可见的):我的密码3354-设置您的密码。

创建没有密码的shared.pk8

生成RSA私钥,2048位长模数

…………………………………… .

………………

e是65537 (0x10001)

3)3)make _ key的参数介绍

这里顺便介绍一下make_key的参数。第一个参数是要生成的密钥的名称,第二个参数是关于您的公司的信息。

key的名字很好理解,就是前面说的四类key。公司信息有很多参数,其含义如下:

C —国家名称(2个字母的代码)

ST —州或省名(全名)

L —地点名称(例如,城市)

O —组织名称(如公司)

OU —组织单位名称(例如,部分)

CN —通用名称(例如,您的姓名或服务器的主机名)

电子邮件地址—联系人电子邮件地址

4)生成的结果如下:

5)pk8是生成的私钥,而*.x509.pem是公钥,生成时它们成对出现。

3、修改android平台签名为刚才修改的签名文件

1.修改build/core/config.mk将:

ifdef产品_默认_开发_证书

默认系统开发证书:=$(产品默认开发证书)

其他

DEFAULT _ SYSTEM _ DEV _ CERTIFICATE:=内部版本/目标/产品/安全/测试密钥

endif

修改为:

ifdef产品_默认_开发_证书

默认系统开发证书:=$(产品默认开发证书)

其他

DEFAULT _ SYSTEM _ DEV _ CERTIFICATE:=build/target/product/security/XXXreleasekey

endif

2.将上面生成的签名文件放在build/target/product/security/XXX/目录中。

3.修改外部/sepolicy/keys.conf。

补充知识:test.pk8 和 test.x509.pem转换为 android studio 使用的 keystore 文件

我就不说废话了。让我们只看代码!

set in _ pk8=' F:\ chNet \ sign _ mstar 9380 \ testkey . pk8 '

set in _ x509 _ PEM=' F:\ chNet \ sign _ mstar 9380 \ testkey . x509 . PEM '

set out _ name=out . keystore . testkey

set out_alias='mstar '

设置存储密码=12345678

设置密钥密码=12345678

设置tmp_file1=platform.p12

set tmp_file2=testkey.pem

set OpenSSL=' D:\ Program Files \ Git \ usr \ bin \ OpenSSL . exe '

set keytool=' C:\ Program Files \ Java \ JRE 1 . 8 . 0 _ 191 \ bin \ keytool . exe '

*使用开放ssl将pk8解密成pem文件,然后生成testkey.pem文件。

% OpenSSL % pkcs 8-通知DER-no crypt-in % in _ PK 8%-out % tmp _ file 2%

*将两个pem文件导入platform.p12文件,

设置别名testkey和keypass密码:12345678(别名和密码可以自定义),生成新的platform.p12。

% OpenSSL % pkcs12-export-in % in _ x509 _ PEM %-inkey % tmp _ file 2%-out % tmp _ file 1%-密码传递:%keyPassword% -name %out_alias%

*使用keytool将之前生成的platform.p12导入testkey.jks签名,并设置storepass密码(12345678)

*必须正确提供keypass密码。

*此时会生成所需的testkey.jks签名文件。

% keytool %-import keystore-deststorepass % store password %-destkeystore % out _ name %-srckeystore % tmp _ file 1%-srcstoretype PKCS12-srcstorepass % key password %

*删除临时文件

del %tmp_file1%

del %tmp_file2%

*查看生成的签名信息

% keytool %-list-v-keystore % out _ name %

中止

上面这个在Android系统中制作自定义签名的例子就是边肖分享的所有内容。希望能给你一个参考,多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: