当前位置: 首页 > news >正文

网站开发有哪些技术免费二级域名平台

网站开发有哪些技术,免费二级域名平台,中山高端网站建设公司,如何做网站设计android的APK文件实际上是一个jar文件。jar的意思是瓶、罐,那就意味着jar文件是一个用来存放android应用相关文件的容器。事实上,它也确实如此,它只是一个带或不带压缩的zip文件,当你把.apk后缀改成.zip后,就能对此进行…

android的APK文件实际上是一个jar文件。jar的意思是瓶、罐,那就意味着jar文件是一个用来存放android应用相关文件的容器。事实上,它也确实如此,它只是一个带或不带压缩的zip文件,当你把.apk后缀改成.zip后,就能对此进行解压了。用java写的不同类型应用都会使用jar来存储它们的文件。jar有一些特殊的结构。

参考:KeyStore文件

1. 编译一个未签名的apk文件

P2PIM % gradlew :app:assembleRelease

我们将在下面的路径找到未签名的apk文件app-release-unsigned.apk

app/build/outputs/apk/release/app-release-unsigned.apk

2.用.jks对apk进行签名

// --ks 从初始化好的KeyStore加载私钥和证书链,KeyStore的初始化是基于指定的.jks文件的% ./apksigner sign --ks kyunban.jks --out app-release-signed.apk app-release-unsigned.apk
Keystore password for signer #1: 

输入.jks的保护密码,就可以完成签名:

 % ls
app-release-signed.apk 

apksigner

apksigner对给定的apk文件进行签名,它会剥离任何先前存在的签名。
换句话说,当将要进行签名的apk已经签过名了,那么apksigner会把已存在的签名先删除掉,再进行重新签名。

使用一个或多个签名者执行,每个签名者由一个非对称密钥表示
Pair和对应的证书。通常,APK只由一个人签名
签名者。对于每个签名者,需要提供签名者的私钥和
证书。

签名是由一个或多个签名者来完成的,就像一份重要的文件一样,可能是由一个重要的人来签名即可,也可能需要好几个重要的人来共同签名才能有效。在计算机里的签名也是一样的,首先是选择非对称密钥对和相应的证书来完成。私钥是掌握在签名者自己手中,另人是没有的。证书是用来传输对应的公钥。 因为私钥加密的内容只能用其公钥来解密,又因私钥只掌握在签名者自己手中,因此就构成了签名者无法抵赖签名的事实。因此签名者都是要用各自的私钥来进行签名的。

在Android领域,要对apk文件进行签名时,只能用一个签名者的私钥来签名,它不能够联名签名。所以对已签名的apk文件进行重新签名时,它会先把先前的签名剥离掉先,再签名。

所以要对apk签名,签名者必须提供私钥和证书,证书中有私钥对应的公钥。

.jks只是一份存放了相应的私钥、公钥和证书的地方,其实,也可以用类似.jks文件来对apk文件进行签名,apksigner支持的就行,这里列举一些签名的例子:

  1. 只用keystore文件kyunban.jks中的私钥进行签名:
// 如果不通过--out指定新的文件名,签名的文件也就是app.apk,覆盖掉原先未签名的文件
$ apksigner sign --ks kyunban.jks app.apk
  1. 只用keystore文件kyunban.jks中的私钥进行签名,签名的文件不覆盖原来未签名的文件
$ apksigner sign --ks kyunban.jks --in app.apk --out app-signed.apk
  1. 通过.pk8文件中的私钥和证书文件中的证书链一起签名,注意这里要求证书文件格式必须是X.509 PEM 或 DER 格式:
$ apksigner sign --key release.pk8 --cert release.x509.pem app.apk
  1. 用两个私钥对apk文件进行签名
$ apksigner sign --ks release.jks --next-signer --ks magic.jks app.apk
  1. 如果签名时,.jks用的密码字符不是ASCII编码,那么需要通过--pass-encoding指定密码的字符集,这样就可以使用非ASCII编码的密码了。
$ apksigner sign --ks release.jks --pass-encoding ibm437 app.apk
  1. 使用 Java Crypto Architecture (JCA) (Java加密体系)签名apk文件,典型的就是用PKCS #11的提供者来签名,这些提供者的类文件要提前安装好,确保在命令行中能够访问到它们:
// --provider-class指定签名的提供者
// --provider-arg指定参数文件,这些参数是传给--provider-class指定的类的
// --ks NONE 不需要keystore文件来提供私钥,这种签名用的是PKCS #11密钥库,即PKCS #11的keystore。
// --key-type指定密钥库即keystore使用的类型或算法,没有指定就用默认的。这里用PKCS11算法
$ apksigner sign --provider-class sun.security.pkcs11.SunPKCS11 --provider-arg token.cfg --ks NONE --ks-type PKCS11 app.apk
  1. 用轮换签名证书签名apk文件,这个签名方案只在v3中支持。这种签名方式中,签名的历史记录会被使用到。本次签名用到的证书,与上次是不同的。--lineage指定的就是这个历史记录,这是用apksigner的rotate命令创建的。这个命令的作用就是添加一个新的签名证书到SigningCertificateLineage这个对象。如果使用这种方式签名的话,所有的签名者都必须在signing lineage中。估计比较少人用这种,但无疑它更加安全。
$ apksigner sign --ks release.jks --next-signer --ks release2.jks --lineage /path/to/signing/history/lineage app.apk
http://www.dinnco.com/news/47622.html

相关文章:

  • 上海工程建设协会网站设计网站排行
  • 顺德网站建设代理商seo排名工具
  • 定制软件app苏州seo关键词排名
  • 松原公司做网站seo精准培训课程
  • 河南网站建设公司价格网站优化方案模板
  • 做外贸大大小小的网站有哪些微信上怎么做广告推广
  • 国内外网站建设自媒体怎么入门
  • 网站建设日程表格宁波 seo排名公司
  • wordpress 网站logo搜狗网站收录入口
  • 网站建设与管理 教材上海网站制作公司
  • 免费设计图快速seo整站优化排行
  • 做网站为什么不要源代码百度关键词点击工具
  • 如何做网站描述网站怎样优化关键词好
  • 怎么上传网站地图今日要闻 最新热点
  • 网站策划书的要点软件外包企业排名
  • 西安行业网站建设网上推广平台
  • 做中学网站简述在线推广网站的方法
  • 深圳网络公司老板抖音关键词优化排名靠前
  • 网站开发 前端如何学习企排排官网
  • 凡科做的网站百度能收录吗新网站如何推广
  • 网站主机有什么用简述优化搜索引擎的方法
  • 网站建立的研究方案宁波网站推广优化
  • b2c电子商务网站系统下载自己怎么制作网页
  • 海南高端网站建设杭州最好的seo公司
  • 做旅游网站运营网站点击量 哪里查询
  • 加强网站安全建设方案交换友情链接的渠道有哪些
  • 网站建设活动策划百度关键字
  • 5在线做网站怎么做网站优化
  • 网站建设实训总结范文石家庄最新疫情
  • 深圳企业网站制作平台百度关键词搜索查询