如何处理调试和生产Android应用程序的MSAL配置?

yzuktlbb  于 2023-10-14  发布在  Android
关注(0)|答案(1)|浏览(113)

我已经在Android应用程序中集成了使用MSAL登录Azure AD。对于Azure AD中的应用程序注册,我使用了调试密钥存储。这在Android Studio调试环境中工作正常。
我现在准备构建一个apk发布。我知道我需要在发布密钥库上创建一个新的签名散列。我想知道推荐的做法是什么。我应该更新现有的(即)我是否应该在ADD中创建一个新的应用程序注册?

ruarlubt

ruarlubt1#

开发

选项一

您可以使用Android SDK安装生成的自动签名证书debug.keystore,该证书可以在

Windows:%HOMEPATH%.android
Linux:~/.android

debug.keystore密码:安卓系统

Windows环境 *

我真诚地建议在老式的cmd.exe或任何WSL终端上执行这些任务。
PowerShell Core使用UTF-8作为显示文本的默认字符编码,而OpenSSL可能使用不同的字符编码,例如ASCII。

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

Linux环境

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

复制此哈希并将其粘贴到Azure的相应Android Redirect URIs中。

注意

这种方法意味着参与项目的每个团队成员都应该在Azure上注册相应的哈希。

选项二

使用JDK工具keytool创建签名密钥证书。在那之后,你必须和团队分享,

keytool -genkey -v -keystore your_keystore.jks -keyalg RSA -keysize 2048 -validity 3650 -alias your_alias
  • 请记住,用于读取此签名密钥的keytool必须与用于创建它的版本相匹配。

现在,要生成所需的Azure哈希签名:

keytool -exportcert -alias your_alias -keystore your_keystore.jks | openssl sha1 -binary | openssl base64

您必须为此新签名密钥配置app gradle文件。

制作

对于安全问题,我猜每个在Play Console上发布的应用程序都会自动接收签名密钥证书。
因此,要为生产Android应用生成Azure签名哈希:
Play Console上,导航到您的应用 Jmeter 板页面,然后在左侧菜单上单击设置将其展开。点击App唱歌,选择App签名标签,下载App签名密钥证书

生成生产Azure签名哈希

下载**.der**文件后,执行:

Windows(Windows. exe)
type your_file.der | openssl sha1 -binary | openssl base64

Linux

cat your_file.der | openssl sha1 -binary | base64

现在,只需像之前所做的那样将结果哈希复制到Azure进行调试。

相关问题