钥匙串警告:“System Roots”钥匙串无法修改。

50

当我双击证书时,出现了“系统根”钥匙串无法修改的错误。经过谷歌搜索,我得知拖放证书是解决此问题的方法。

但即使这样做,在代码中仍然会显示“配置文件与默认密钥链中的有效证书/私钥链对不匹配”的消息。

有任何解决方法吗?

12个回答

168

只需尝试以下三个步骤

步骤1:打开您的 Keychain Access 应用程序。
步骤2:您会在左侧看到一个列表,其中包括“登录”、“系统”和“系统根目录”,只需将您的证书拖放到“登录”选项中。
步骤3:在 Keychain Access 中成功安装证书。


11
如无法正常工作,请将其拖到系统中并输入密码,在登录处会出现证书。 - HotJard
4
@Bo Persson,我按照您列出的步骤尝试了,但对我并没有起作用。它总是显示警告对话框“无法修改系统根密钥链”。警告消息是:“要更改根证书是否受信任,请在密钥链访问中打开该证书并修改其信任设置。新的根证书应添加到当前用户的登录密钥串,或者添加到系统密钥串(如果它们将由该计算机的所有用户共享)。 - Android_kalai
对我有用,谢谢~ - Xueshi
1
有什么想法,为什么我以前只需要双击证书就能加载它,但现在需要拖动它? - rob5408

22

步骤1 - 下载您的开发者证书并将其拖放到默认钥匙串中。

步骤2 - 下载苹果WWDRCA证书并将其拖放到同一个钥匙串中。

步骤3 - 检查是否有随同证书的私钥。(您应该能够看到证书旁边的小三角形。单击它以查看是否存在私钥)

步骤4 - 从开发者门户下载配置文件,并将其拖放到Xcode中。

请先尝试以上步骤。如果仍然出现错误,则删除钥匙串中的额外苹果证书,然后再次尝试此过程...这将解决问题...


就我所知,你不能明确地做到这一点... 我不确定... 但最好按照上述4个步骤操作,只需要花费15分钟的时间来解决问题。 - A for Alpha
实际上,我正在尝试导入另一个人发送的证书,但它不包含WWDRCA证书。现在我只有开发者和分发身份证书。 - nik
我的苹果开发者账户需要使用自己的WWDRCA证书还是他们账户的WWDRCA证书呢? - nik
谢谢。实际上,他们没有为证书配置私钥,我认为这是因为在钥匙串访问中没有显示任何披露信息。所以我必须请求新的证书。 - nik
+1 我也是。同样的问题,双击会导致错误,但拖放可以工作。谢谢你。这些证书让我头疼。 - Nick M
显示剩余10条评论

11

当我尝试使用Keychain Access应用程序安装iOS推送服务证书时,遇到了同样的问题。为解决这个问题,我只需关闭该应用程序,然后双击证书,这样证书就可以顺利安装了。


9

enter image description here


我也遇到了这个问题,使用双击方式安装APNS证书时出现错误,但手动导入证书对我有效。

enter image description here


3
我通过在终端中运行以下命令解决了该问题。(来自谷歌搜索)
cd /System/Library
sudo chmod -R 777 Keychains

添加证书,就不会出现错误了。
sudo chmod 755 Keychains
sudo chmod 644 Keychains/*

注意:这是我很久以前尝试解决当时问题的方法。我不建议这样做。


4
只需点击挂锁解锁系统钥匙串,否则您可以通过root运行钥匙串访问,例如sudo /Applications/Utilities/Keychain\ Access.app/Contents/MacOS/Keychain\ Access - kenorb
无论你想要完成什么任务,chmod 777都是错误和危险的。你应该尽快恢复到正常权限(对于你的使用情况,可能是chmod 755),如果你有一个公共系统文件且可被任何人写入,至少要调查一下是否已被攻破,并作为进入你组织网络的跳板点。 - tripleee

2

默认钥匙串是Keychain Access在钥匙串列表中以粗体显示的那个。通常情况下,它是“登录”钥匙串。打开默认钥匙串并查找您的证书。如果找到了,请确保左侧有一个小的披露三角形。单击该三角形应该会显示私钥。如果没有这些内容,您将无法签署二进制文件。


1
哦,是的……你说得对,在左边没有披露三角形,那么应该如何修复呢? - nik
首先确保将证书放入正确的密钥链中。如果我没记错的话,你可以将从门户网站下载的证书文件拖放到Xcode中,然后Xcode会尝试将其放在正确的位置。如果其他方法都失败了,你可能需要创建一个新的证书签名请求,上传到门户网站,下载你的证书,然后再次尝试。实际上这应该是不必要的,但我们俩可能都不知道你哪里出错了,所以这可能是最简便的解决方案。 - Caleb
在您的下载文件夹中找到该文件,然后将其拖放到Xcode应用程序图标上。 - Caleb
我是这样掉下去的,但什么也没发生。 - nik
自从我上次做这件事以来,可能有些事情已经发生了变化。最好的建议是:仔细按照开发者门户网站中证书->如何操作步骤进行操作。这些说明通常是最新的,即使是经验丰富的老开发人员有时也会回到它们并学习新东西。;-) - Caleb

0

退出钥匙串访问,然后双击AppleWWDRCA.cer和developer_identity.cer文件,它们将被成功添加到登录钥匙串中,而不是尝试添加到系统根钥匙串。

苹果讨论链接: https://discussions.apple.com/thread/2343078


0
在我的情况下,我需要按照这里的步骤创建一个新的.certSigningRequest文件。 然后我必须使用这个新文件再次创建证书。

0

刚刚遇到了同样的错误。发现在退出钥匙串访问并双击AppleWWDRCA.cer和developer_identity.cer之后,它就可以正常工作了。它将它们添加到登录钥匙串中,而不是尝试将其添加到系统根钥匙串。


0

我知道这种情况可能有很多未知的原因。

对我来说,是以下原因:

  • 和许多人一样,我在双击下载的证书(.cer)文件时,Keychain Access应用程序和Xcode都是打开的。

  • 之后我关闭了Keychain Access应用程序并再次尝试,随后发生了以下事情:

    • 操作系统提示我登录以允许修改Keychain,以便安装证书。

enter image description here

  • 我输入密码并允许后,证书自动安装,打开了钥匙串应用程序,并显示了与证书相关的日志。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接