安卓获取apk的公钥,用于申请app备案等

要申请app的icp备案等场景,需要app的

证书MD5指纹和公钥,示例如下:

步骤1:使用keytool从APK中提取证书

  1. 打开命令行,cd 到你的apk目录,如:app/release

  2. 解压APK文件:

java 复制代码
unzip your_application.apk -d apk_folder
  1. 进入解压后的目录,找到META-INF文件夹,通常证书文件如CERT.RSA会存放在此处。

  2. 使用keytool命令查看证书信息,并获取公钥:

    keytool -printcert -file apk_folder/META-INF/CERT.RSA

这个命令将输出证书的详细信息,包括公钥。如果你需要公钥的具体数值,你可以使用openssl从此证书中提取:

步骤2:使用openssl提取公钥

  1. 首先需要将CERT.RSA转换为x509格式,可以使用以下命令:

    复制代码
    openssl pkcs7 -print_certs -in apk_folder/META-INF/CERT.RSA -inform DER -outform PEM -out certificate.pem
  2. 然后从转换的PEM证书文件中提取公钥:

    复制代码
    openssl x509 -in certificate.pem -pubkey -noout > publickey.pem
  3. 如果你需要公钥的十六进制形式,可以进一步使用以下命令:

    复制代码
    openssl rsa -pubin -in publickey.pem -text -noout

    这一命令会输出公钥的详细信息,包括十六进制形式。

注意替换your_application.apk为你的APK文件名,并根据你的实际文件目录调整命令中的路径。

相关推荐
StackNoOverflow1 小时前
MySQL Explain 返回列详解:从入门到实战,附 SQL 与避坑大全
android
CYRUS_STUDIO10 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj5011 小时前
安卓基础之《(28)—Service组件》
android
lhbian13 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop14 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO14 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊15 小时前
leetcode 142
android·java·leetcode
angerdream15 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲15 小时前
Zephyr_01, environment
android·java·javascript
sTone8737516 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端