Visual Studio 2022中获取.NET MAUI应用SHA-1指纹遇问题求助
.NET MAUI发布Google Play获取SHA-1指纹问题解决
要将.NET MAUI应用发布到Google Play,需获取SHA-1证书指纹创建OAuth客户端ID,但使用Visual Studio 2022配合命令行时遇到两类问题:invalid keystore format(无效密钥库格式),或得到32字节的SHA-1(正确应为20字节)。以下是对应解决方法:
问题1:无效密钥库格式
无论是VS自动生成的debug.keystore还是通过VS工具创建的自定义密钥库,都采用PKCS12格式,而默认keytool命令会以JKS格式读取,导致格式错误。解决方法是在命令中指定存储类型:
修正debug密钥库查询命令
keytool -list -v -keystore "C:\Users\[NAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storetype pkcs12
输入默认密码android即可正常读取指纹。
修正自定义密钥库查询命令
keytool -list -v -keystore "C:\Users\[NAME]\AppData\Local\Xamarin\Mono for Android\Keystore\[ALIAS]\[ALIAS].keystore" -storetype pkcs12
输入自定义设置的密钥库密码即可。
问题2:手动创建密钥库得到错误长度的SHA-1
手动生成密钥库的命令本身无问题,但需确保查询命令正确,且注意区分SHA-1与SHA-256的输出:
正确查询命令
keytool -list -v -keystore "C:\Users\[NAME]\Desktop\new_keystore.keystore" -alias my-key-alias
正常情况下,SHA-1指纹会显示为20字节(对应40个十六进制字符,以冒号分隔为20段)。若仍出现异常,检查keytool使用的JDK版本是否与生成密钥库的版本一致,版本不兼容可能导致输出异常。
更简便的方法:直接从Visual Studio获取
无需命令行,可直接在VS2022中提取指纹:
- 右键.NET MAUI项目中的Android项目 → 选项 → Android签名
- 选择目标密钥库(debug或自定义),输入密码后,界面会直接显示SHA-1、SHA-256等指纹信息,复制即可使用。
内容的提问来源于stack exchange,提问作者Léo Trinquet
相关产品推荐
相关产品推荐

