【问题标题】:How does macOS keychain ACL determine which apps have access?macOS 钥匙串 ACL 如何确定哪些应用程序可以访问?
【发布时间】:2019-10-08 16:00:55
【问题描述】:

当应用程序将项目保存到钥匙串时,macOS 会将该应用程序添加到访问控制列表中,以便您的应用程序以后可以访问它。如果您尝试从其他应用程序访问该项目,macOS 将显示系统提示,询问用户是否要允许访问。这记录在here

App Name 想要使用您存储在 “com.company.appname.key”在您的钥匙串中。为此,请输入 “登录”钥匙串密码。

macOS 如何知道哪些应用程序可以访问?是捆绑 ID、签名证书、应用程序在磁盘上的位置还是其他?

在我们的应用程序中,当我们尝试访问一个我们只知道我们的应用程序创建的条目时,我们意外地看到了这个提示,所以我试图弄清楚为什么 macOS 认为它是一个不同的应用程序。当我在 Keychain Access 中查看该项目时,它会在“始终允许这些应用程序访问”下的“访问控制”中显示我们的应用程序名称,但该图标是一个通用文件,让我相信它认为该应用程序的新版本不一样应用程序。请注意,我不再安装旧版本。

【问题讨论】:

    标签: macos acl keychain


    【解决方案1】:

    你可以看看code signing documentation

    具体来说,“运送和更新您的产品”部分有这样的说法(强调我的):

    当您对产品的新版本进行了认证后,就如同您在之前的版本上签名一样,使用相同的标识符和相同的指定要求对其进行签名。用户的系统认为您的产品的新版本与以前的版本是相同的程序。例如,Keychain Services 不会区分程序的旧版本和新版本,只要两者都已签名且唯一标识符保持不变t。

    【讨论】:

    • ? 感谢您提供指向记录位置的链接。
    猜你喜欢
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多