cmo*_*mos 13 iphone macos xcode keychain
我正在尝试使用特定证书自动化构建iphone应用程序的过程.因此,想象一下,如果不同的用户将他们的证书上传到系统中,并且可以立即对代码进行签名.我想在没有任何互动的情况下这样做.我也不想混淆系统或使用不同的用户证书登录钥匙串.为此,我有:
一切正常,但我需要在codeign程序尝试行使签名权限时手动点击输入.我的钥匙链全都解锁了.奇怪的是,如果我将钥匙串作为默认钥匙串,它可以工作,但这是不可扩展的,即我只能在任何给定时间进行一个构建过程.
当我手动点击始终允许该过程时,我在我的钥匙串转储中得到一个如下所示的条目:
entry 1:
authorizations (6): decrypt derive export_clear export_wrapped mac sign
don't-require-password
description: privateKey
applications (2):
0: /usr/bin/codesign (OK)
Run Code Online (Sandbox Code Playgroud)
所以我认为我需要在安全性中使用authorize命令来预先自动化这些权限的代码签名.安全手册页非常糟糕.我似乎无法使用这样的命令来使用它:
安全-v授权-uew签署|/usr/bin/codesign [指向应用程序和特定钥匙串的代码签名变量]
有没有人有任何想法?
我想添加到此处的答案库,但也重新打开部分我认为尚未得到解答的问题。
以下命令导入身份(证书 + 私钥)并指定它应“始终允许”对其进行代码签名访问(防止“钥匙串访问”警报促使用户单击按钮):
`security import Targets/CurrentTarget/Certificate.p12 -k #{KEYCHAIN} -P "#{cert_pwd}" -T /usr/bin/codesign`
Run Code Online (Sandbox Code Playgroud)
此命令允许所有应用程序访问,而不仅仅是代码签名:
security import Targets/CurrentTarget/Certificate.p12 -k #{KEYCHAIN} -P "#{cert_pwd}" -A
这些命令中的任何一个都会处理每次在钥匙串中使用私钥时弹出的对话框。但是,他们不会处理您第一次请求使用私钥的权限时弹出的类似警报。此警报将在首次使用时出现,并要求您选择始终允许、拒绝或允许。此后每次(如果您使用上面的-T或-A选项,假设密钥保留在您的钥匙串中),您将不会看到对话框。
我的问题是:如何消除首次使用时出现的警报?
我考虑过使用 Apple 脚本来自动点击“始终允许”按钮,但因为警报是在命令中间触发的,所以xcodebuild我不确定这是否可行。任何帮助将非常感激!
在我的系统上,一旦钥匙串解锁
安全解锁钥匙串
我只是让 xcodebuild 进行构建和代码签名。
如果您的钥匙串已解锁,则无需使用上述调用。
您可能还想检查命令执行权限的安全性。
| 归档时间: |
|
| 查看次数: |
8794 次 |
| 最近记录: |