macOS 中使用钥匙串保存密码

本文介绍如何在macOS中使用钥匙串安全存储密码,并从终端及Gradle中访问这些密码,适用于Android应用签名场景。

通常不建议在配置文件中存储密码。在 macOS 中我们可以使用内置的钥匙串应用来存储密码,可以方便地从终端访问。

在这个示例中,我们将使用它来存储用于签名 Android 应用程序的密钥库的密码。

在钥匙串中保存密码

  1. 打开钥匙串应用。
  2. 点击 “+” 按钮,添加新密码。
  3. 输入钥匙串项名称(任意),账户名称(任意)以及使用 keytool 创建密钥时使用的密码,然后点击添加按钮即可。

从终端访问密码

在终端输入下面的命令:

$ security find-generic-password -s android_keystore -w
复制代码

输入完成后,添加电脑的密码可以看到保存在钥匙串中的密码。

在 Gradle 中访问密码

将以下内容添加到 build.gradle 的开头:

// account:添加钥匙时的账户名;keyChain:钥匙项名
def getPassword(String account, String keyChain) {
   def stdout = new ByteArrayOutputStream()
   def stderr = new ByteArrayOutputStream()
   exec {
       commandLine 'security', '-q', 'find-generic-password', '-a', account, '-s', keyChain, '-w'
       standardOutput = stdout
       errorOutput = stderr
       ignoreExitValue true
   }
   stdout.toString().trim()
}
复制代码

然后在需要访问密码的通过 getPassword 获取密码:

// 获取密码
def keystorePassword = getPassword("android_keystore","android_keystore")

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword keystorePassword // 使用获取到的密码
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword keystorePassword // 使用获取到的密码
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值