set-key-partition-list codesign 之后还是提示key access
After set-key-partition-list codesign still prompts for key access
我正在使用以下命令导入一个 PEM
文件,其中包含 public 和我的代码签名身份的私钥:
security import "${PEM_FILE}" -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security
在 OS X 10.11 El Capitan
上我可以 codesign
没有提示:
codesign --force --sign "${IDENTITY_HASH}" --timestamp=none `mktemp`
但是,由于 have ,OS X 10.12 Sierra
现在要求您 set-key-partition-list
在 import
之后:
security set-key-partition-list -S apple-tool:,apple: -s -k "${PASSWORD}" ~/Library/Keychains/login.keychain
然而,即使在 set-key-partition-list
之后,我仍然会收到一个 UI 对话框,请求允许访问我的私钥以进行代码签名:
如果我单击 Always Allow
,则以后的 codesign
调用不会提示,但我不想让 UI 对话框出现提示。我希望这一切都可以编写脚本。
为什么 set-key-partition-list
对其他人有效,对我却无效?
在我原来的 import
命令中,我没有为我的钥匙串提供密码。如果我向 import
命令提供密码,set-key-partition-list
会阻止对话框显示:
security import "${PEM_FILE}" -k ~/Library/Keychains/login.keychain -P "${PASSWORD}" -T /usr/bin/codesign -T /usr/bin/security
security set-key-partition-list -S apple-tool:,apple: -s -k "${PASSWORD}" ~/Library/Keychains/login.keychain
然后 codesign
不显示对话框。它非常有效!
codesign --force --sign "${IDENTITY_HASH}" --timestamp=none `mktemp`
我正在使用以下命令导入一个 PEM
文件,其中包含 public 和我的代码签名身份的私钥:
security import "${PEM_FILE}" -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security
在 OS X 10.11 El Capitan
上我可以 codesign
没有提示:
codesign --force --sign "${IDENTITY_HASH}" --timestamp=none `mktemp`
但是,由于 OS X 10.12 Sierra
现在要求您 set-key-partition-list
在 import
之后:
security set-key-partition-list -S apple-tool:,apple: -s -k "${PASSWORD}" ~/Library/Keychains/login.keychain
然而,即使在 set-key-partition-list
之后,我仍然会收到一个 UI 对话框,请求允许访问我的私钥以进行代码签名:
如果我单击 Always Allow
,则以后的 codesign
调用不会提示,但我不想让 UI 对话框出现提示。我希望这一切都可以编写脚本。
为什么 set-key-partition-list
对其他人有效,对我却无效?
在我原来的 import
命令中,我没有为我的钥匙串提供密码。如果我向 import
命令提供密码,set-key-partition-list
会阻止对话框显示:
security import "${PEM_FILE}" -k ~/Library/Keychains/login.keychain -P "${PASSWORD}" -T /usr/bin/codesign -T /usr/bin/security
security set-key-partition-list -S apple-tool:,apple: -s -k "${PASSWORD}" ~/Library/Keychains/login.keychain
然后 codesign
不显示对话框。它非常有效!
codesign --force --sign "${IDENTITY_HASH}" --timestamp=none `mktemp`