You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Android应用Play签名报错:私钥加密异常或不支持

问题描述
  • 原Xamarin Android应用通过VS Mac使用本地keystore签名发布APK,流程正常。迁移至.NET MAUI后尝试发布.aab文件,Google Play Console要求启用「Play app signing」。
  • 尝试导入旧keystore时,发现VS现在需要输入别名、存储密码和密钥密码(原Xamarin环境仅需密码),怀疑密钥库格式差异,遂新建keystore。
  • 按Google指引使用PEPK工具生成加密私钥,执行命令:
    "C:\Program Files\Java\jdk-23.0.1\bin\java" -jar pepk.jar --keystore=appname.keystore --alias=appnamealias --output=encrypted_private_key.pem --rsa-aes-encryption --encryption-key-path=encryption_public_key.pem
    
    成功生成encrypted_private_key.pem,但上传时收到报错:The private key was not properly encrypted, or is not a type of key we support。
  • 已尝试更换JDK版本,仍未解决,需了解如何在Visual Studio中导入旧Xamarin keystore。
解决方案

1. 导入旧Xamarin keystore到VS

步骤1:获取旧keystore的别名与密码信息

使用Java的keytool命令查看旧keystore详情:

keytool -list -v -keystore /path/to/your/old_xamarin.keystore

输入存储密码后,可查看:

  • 密钥库中的别名(Alias name)
  • 密钥密码(若与存储密码不同,旧Xamarin通常设置为同一密码)

步骤2:在VS中配置旧keystore

  • 右键MAUI项目 → 选择「发布」→ 选择「Android App Bundle」发布方式。
  • 进入签名配置步骤,选择「选择现有密钥库」,定位到旧keystore文件路径。
  • 输入存储密码,点击「刷新」按钮,VS会自动加载keystore内的别名列表。
  • 选择对应的别名,输入密钥密码(与存储密码一致则填相同内容)。
  • 保存配置即可用旧keystore签名.aab文件。

2. 解决Play Console上传加密私钥报错

若需用旧keystore配置Play App Signing,按以下排查:

  • 使用Google官方最新版PEPK工具,避免第三方版本。
  • 确保命令中的--alias参数与keytool查到的别名完全一致(区分大小写)。
  • 切换至JDK 8或11版本执行PEPK命令(高版本JDK如23可能存在兼容性问题)。
  • 确认命令中所有文件路径正确,可使用绝对路径避免目录问题。

内容的提问来源于stack exchange,提问作者Josh Bula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:40:03