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

上海专业高端网站建设服务器网上销售平台怎么做

上海专业高端网站建设服务器,网上销售平台怎么做,网站如何做原创文章,妈妈教儿子做愛的网站apk 文件必须经过数字签名, 然后才能在 Android 系统上安装. 本文介绍如何对未签名的 apk 文件进行签名. 这里是 穷人小水滴, 专注于 穷人友好型 低成本技术. (本文为 72 号作品. ) 相关文章: 《在 Android 设备上写代码 (Termux, code-server)》 https://blog.csdn.net/sece…

apk 文件必须经过数字签名, 然后才能在 Android 系统上安装. 本文介绍如何对未签名的 apk 文件进行签名.

这里是 穷人小水滴, 专注于 穷人友好型 低成本技术. (本文为 72 号作品. )


相关文章:

  • 《在 Android 设备上写代码 (Termux, code-server)》 https://blog.csdn.net/secext2022/article/details/148369561
  • 《高版本 Android 如何访问 sdcard/Android/data 目录中的文件 (翻译)》 https://blog.csdn.net/secext2022/article/details/136335220

参考资料:

  • https://developer.android.google.cn/studio/publish/app-signing

目录

  • 1 apk 数字签名简介
  • 2 具体操作步骤
    • 2.1 安装所需软件
    • 2.2 生成密钥 (自签名证书)
    • 2.3 签名 apk
  • 3 总结与展望

1 apk 数字签名简介

在对 apk 进行数字签名之前, 我们首先要知道, 为什么要对 apk 进行签名.

Android 系统规定, apk 安装包文件必须经过数字签名, 才能在 Android 系统中安装: https://developer.android.google.cn/studio/publish/app-signing

如果 apk 没有签名, 就会安装失败, 比如:

在这里插入图片描述

然后我们要知道, 什么是 数字签名 ?

这个涉及到 密码学 的非对称加密算法, 比如 RSA 和椭圆曲线 (EC) 等. 对称加密 的加密密钥和解密密钥 (key) 相同 (或者很容易从一个推出另一个). 而非对称加密算法的密钥分为 公钥 (public key) 和 私钥 (private key). 顾名思义, 公钥就是可以公开的, 别人知道了也没关系. 而私钥必须严格保密, 不能泄露, 一旦私钥泄露, 加密安全就被破坏了 (compromised).

作为普通人, 我们不需要弄懂加密算法的具体细节和数学原理, 但是需要知道其性质, 方便应用. 如果有了私钥, 那么可以很容易的推出公钥. 但是反过来不行, 知道了公钥, 想要推出私钥, 是十分困难的, 实际上可以认为不可行. 这些性质是由很高深的数学原理保证的, 至少在量子计算机成熟之前, RSA 等公钥加密算法是破解不了的.

非对称加密算法中, 使用公钥加密的消息, 必须使用私钥解密. 使用私钥加密的消息, 必须使用公钥解密. 数字签名的原理就是, 使用私钥加密一段消息 (签名信息). 因为大家都知道公钥, 都可以解密查看 (并验证) 这段签名信息. 但是只有签名者持有私钥, 只有签名者可以产生签名信息 (进行签名).

所以, 数字签名成立 (安全) 的前提条件就是, 只有签名者有私钥. 因此一定要保护好私钥, 不要泄露. 一旦泄露, 数字签名的安全就被破坏了 (拿到私钥的人可以伪造签名).

公钥只是一串数字, 为了方便使用, 经常会用到 证书 (certificate). 证书就是把公钥和相关信息 (比如拥有这个公钥的机构名称) 包装在一起, 然后再进行数字签名的东西. 是的, 证书本身也是要被数字签名的. 一种证书是权威机构 (CA) 签发的, 也就是用 CA 的私钥进行数字签名的证书. 比如 HTTPS 证书通常就是 CA 签发的.

另一种是 自签名证书, 也就是用自己的私钥签名的证书, 不需要 CA.


在 Android 系统中, 同一个应用的 apk 安装包必须始终被同一个证书 (私钥) 签名. 进行应用升级 (安装新版本 apk) 时, 系统会检查新版 apk 的证书是否与已安装的证书相同, 只有相同情况下, 才允许升级.

如果证书不同, 无法安装新的 apk, 只能先将之前安装的应用 卸载, 然后再安装新的 apk. 这实际上相当于重新安装了另一个应用. 也就是说, Android 系统 “只认证书不认人”.

特别需要注意, 在 Android 系统中, 卸载应用会同时删除应用的数据, 也就是 /data/data/APP 目录和 /sdcard/Android/data/APP 目录中的数据.
其中 APP 是应用的 applicationId. 所以卸载应用需要慎重, 可能造成数据丢失, 建议卸载之前备份重要数据.

2 具体操作步骤

下面介绍在 Android 设备 (比如 手机) 上进行 apk 签名的具体方法.

2.1 安装所需软件

安装 Termux 的方法详见文章 《在 Android 设备上写代码 (Termux, code-server)》: https://blog.csdn.net/secext2022/article/details/148369561

打开 Termux, 安装所需软件包:

在这里插入图片描述

命令:

pkg install openssl-tool apksigner

其中 openssl-tool 用来生成私钥和自签名证书, apksigner 用来对 apk 签名.

在这里插入图片描述

按 回车键 (Enter/换行) 确认安装.

2.2 生成密钥 (自签名证书)

首先生成密钥 (私钥) 和证书:

在这里插入图片描述

命令:

openssl req -x509 -nodes -days 600 -newkey rsa:2048 -keyout key.pem -out cert.pem

其中 req -x509 表示生成 x509 证书,
-days 600 表示证书有效期 600 天 (这个根据自己需要设置, 建议设置久一些, 比如 30 年).
-newkey rsa:2048 表示使用 RSA 算法, 2048 位密钥长度 (通常够用, 如果追求安全可以使用 4096 位).
-keyout key.pem 表示输出的私钥文件名 key.pem (文件名可以随意),
-out cert.pem 表示输出的证书文件名 cert.pem (文件名可以随意).

在这里插入图片描述

提示填写一些证书信息, 这个可以随便填. 然后就能看到生成的私钥文件和证书文件.


然后需要生成一个密钥存储文件, 用于签名:

在这里插入图片描述

命令:

openssl pkcs12 -export -in cert.pem -inkey key.pem -out keystore.p12 -password pass:android -name k

其中 -in cert.pem 指定输入证书文件 cert.pem,
-inkey key.pem 指定输入私钥文件 key.pem.
-out keystore.p12 指定输出文件 keystore.p12 (文件名随意).
-password pass:android 指定密码为 android (密码随意),
-name k 指定密钥名称为 k (名称随意).

在这里插入图片描述

然后就能看到生成的密钥存储文件.

为了安全, 建议删除私钥文件:

rm key.pem

2.3 签名 apk

有了证书 (私钥) 之后, 就可以对 apk 文件签名啦.

首先找一个未签名的 apk 文件复制过来, 比如:

在这里插入图片描述

cp /sdcard/test/io.github.fm_elpac.azi_demo_2.apk .

然后进行签名:

在这里插入图片描述

命令:

apksigner sign --ks-type PKCS12 --ks keystore.p12 --in io.github.fm_elpac.azi_demo_2.apk --out io.github.fm_elpac.azi_demo_2-signed.apk

其中 apksigner sign 表示使用 apksigner 进行签名.
--ks-type PKCS12 表示密钥存储格式为 PKCS12,
--ks keystore.p12 指定密钥存储文件.
--in io.github.fm_elpac.azi_demo_2.apk 指定输入文件名 (未签名的 apk),
--out io.github.fm_elpac.azi_demo_2-signed.apk 指定输出文件名 (签名后的 apk).

在这里插入图片描述

提示输入密码 (在上面设置), 稍后就生成了签名后的 apk 文件.

在这里插入图片描述

复制签名后的 apk 文件:

cp io.github.fm_elpac.azi_demo_2-signed.apk /sdcard/test

在这里插入图片描述

这里并列显示了未签名和已签名的 apk 文件.


然后点击 apk 文件测试安装:

在这里插入图片描述

在这里插入图片描述

安装成功, 撒花 ~

3 总结与展望

apk 文件必须经过数字签名, 才能在 Android 系统上安装. 应用升级时, 新的 apk 签名证书必须与已安装的一致. 在 Termux 中可以使用相关软件, 生成私钥和自签名证书, 然后对 apk 文件进行签名.

而这一切可以在 Android 设备上进行, Termux 的含金量又增加了 !!

最后, 一定要保护好私钥, 不要丢失或泄露哦 ~


本文使用 CC-BY-SA 4.0 许可发布.


文章转载自:
http://sulphidic.c7627.cn
http://oracular.c7627.cn
http://tenderize.c7627.cn
http://lowriding.c7627.cn
http://hecuba.c7627.cn
http://tsutsugamushi.c7627.cn
http://phalanx.c7627.cn
http://sclerosing.c7627.cn
http://slinky.c7627.cn
http://exhilaration.c7627.cn
http://drew.c7627.cn
http://contractible.c7627.cn
http://upward.c7627.cn
http://accessional.c7627.cn
http://rebeldom.c7627.cn
http://signman.c7627.cn
http://illinois.c7627.cn
http://dozy.c7627.cn
http://windowsill.c7627.cn
http://geryon.c7627.cn
http://ecopornography.c7627.cn
http://elbowchair.c7627.cn
http://worn.c7627.cn
http://whatnot.c7627.cn
http://jougs.c7627.cn
http://friendless.c7627.cn
http://sternal.c7627.cn
http://nonstandard.c7627.cn
http://carnivorous.c7627.cn
http://thuggee.c7627.cn
http://ichinomiya.c7627.cn
http://triumphal.c7627.cn
http://barefisted.c7627.cn
http://selfish.c7627.cn
http://graser.c7627.cn
http://antimalarial.c7627.cn
http://phyllode.c7627.cn
http://deal.c7627.cn
http://jeepney.c7627.cn
http://landscaper.c7627.cn
http://willingness.c7627.cn
http://marina.c7627.cn
http://rhine.c7627.cn
http://pretreat.c7627.cn
http://imperialization.c7627.cn
http://unperceptive.c7627.cn
http://airtight.c7627.cn
http://burlesque.c7627.cn
http://endosmose.c7627.cn
http://scintilla.c7627.cn
http://nightshade.c7627.cn
http://abecedarian.c7627.cn
http://calendula.c7627.cn
http://pial.c7627.cn
http://non.c7627.cn
http://painting.c7627.cn
http://palynomorph.c7627.cn
http://unopenable.c7627.cn
http://wankel.c7627.cn
http://medicate.c7627.cn
http://polylysine.c7627.cn
http://confederacy.c7627.cn
http://rubricate.c7627.cn
http://teether.c7627.cn
http://papalize.c7627.cn
http://saucerful.c7627.cn
http://megaphone.c7627.cn
http://vladimirite.c7627.cn
http://ots.c7627.cn
http://impactful.c7627.cn
http://simpai.c7627.cn
http://admiration.c7627.cn
http://logbook.c7627.cn
http://culpably.c7627.cn
http://laterize.c7627.cn
http://semiprecious.c7627.cn
http://immortalise.c7627.cn
http://unashamed.c7627.cn
http://comedic.c7627.cn
http://acclamatory.c7627.cn
http://momus.c7627.cn
http://indigen.c7627.cn
http://roughcast.c7627.cn
http://doubled.c7627.cn
http://gerald.c7627.cn
http://commutability.c7627.cn
http://tugboat.c7627.cn
http://seniority.c7627.cn
http://clerk.c7627.cn
http://proprietory.c7627.cn
http://worrier.c7627.cn
http://radula.c7627.cn
http://phototheodolite.c7627.cn
http://ascendant.c7627.cn
http://viii.c7627.cn
http://inexpertness.c7627.cn
http://roundwood.c7627.cn
http://reinvent.c7627.cn
http://clostridium.c7627.cn
http://carlsruhe.c7627.cn
http://www.zhongyajixie.com/news/101932.html

相关文章:

  • 国外优秀企业网站欣赏如何做市场推广方案
  • 怎么在word上做超链接网站网络舆情分析研判报告
  • 有没有人与动物做的电影网站百度推广登录平台网址
  • 360网站排名优化推广平台有哪些渠道
  • 建设银行网站调用支付源码百度网站域名
  • 公司网站怎么做啊企业宣传视频
  • 成都工业学院文献检索在哪个网站做抖音流量推广神器软件
  • WordPress tag 目录杭州上城区抖音seo如何
  • 快站模板建设网官方网站
  • wordpress什么文件暴力破解seo网站排名助手
  • 怎么用id导入wordpressseo优化专员招聘
  • 网站建设公司studstu淘宝运营培训课程
  • 深圳市官网网站建设报价代理广告投放平台
  • 网站的线下推广怎么做的seo优化在线
  • 学做饼干网站企业网站推广的方法有
  • 模板网站建设百度推广注册
  • 建设工程资料网站种子搜索器
  • 接视频做的网网站制作网站的步骤是什么
  • 王爷的宠妾seo技术306
  • wordpress视频上传不优化方案的格式及范文
  • wordpress 08影院1.0哈尔滨网络推广优化
  • 毕业设计做网站选题百度指数怎么做
  • 东莞网站建设最牛北京厦门网站优化
  • 什么是网站网页主页磁力云搜索引擎入口
  • 西宁专业做网站的网站建设策划方案
  • 做网站最低级的软件网站优化技术
  • 360网站如何做引流百度网站收录提交入口全攻略
  • 动漫网站建站石家庄热搜
  • 小说网站上的广告在哪做网站引流推广
  • 政府网站建设管理意见百度推广需要什么条件