安卓获取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文件名,并根据你的实际文件目录调整命令中的路径。

相关推荐
顾北川_野29 分钟前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
&岁月不待人&40 分钟前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood3 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽3 小时前
Android 项目模型配置管理
android
帅得不敢出门3 小时前
Gradle命令编译Android Studio工程项目并签名
android·ide·android studio·gradlew
problc4 小时前
Flutter中文字体设置指南:打造个性化的应用体验
android·javascript·flutter
帅得不敢出门14 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了16 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任17 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山17 小时前
Android“引用们”的底层原理
android·java