使用证书助手创建证书时出现“未知错误= -2,147,414,007”


30

通过钥匙串应用程序创建证书时,出现“未知错误= -2,147,414,007”。

未知错误= -2,147,414,007

重新创建步骤:

  1. 打开钥匙串访问应用程序。在应用程序菜单中选择“证书助手”>“创建证书”(“钥匙串访问”)。仅列出修改的参数。其余选项保留默认值。

    证书名称= gdbcert
    身份类型=自签名根
    证书类型=代码签名

  2. 选中让我覆盖默认值复选框,然后单击继续。

  3. 在下一页上,将“安全号”保留为1,并将“有效期”设置为3650。
  4. 然后再次单击“继续”,并继续这样做以跳过接下来的六个屏幕,直到看到标题为“指定证书的位置”的屏幕。
  5. 对于唯一属性“钥匙串”,请从下拉列表中选择“系统”。最后,单击创建,在出现提示时输入密码,然后单击完成。

更新:我能够为登录钥匙串创建证书。仅当我尝试为系统钥匙串创建证书时才出现问题。


你能达到你需要做的吗?您是否已通过bugreporter或他们的反馈页面直接向Apple报告了此信息
Graham Miln

我已经在Apple支持论坛上发布了。是的,我能够使gdb正常工作。步骤在“答案”部分列出。
丹尼斯·费米

请您直接向Apple报告此可复制错误。Apple工程师不阅读支持论坛或“不一样”。告诉Apple的最佳方法是通过其Bugreporter网站。
格雷厄姆·米尔恩


得到了同样的错误,但是当我跑证书助手的第二次使用相同的名称,它对于我,没有进一步的步骤中创建的证书立即...
オナシカ

Answers:


20

能够使它正常工作。创建证书的目的是在Mac上对gdb进行代码签名。这是相同的步骤:-

  • 创建具有上述所有参数的证书。
  • 不要将钥匙串保存在“系统”下,而是将其保存在“登录”下。
  • 然后,通过单击左上角的锁定图标来解锁系统钥匙串,并将证书从“登录”拖动到“系统”。
  • 右键单击证书,单击获取信息,然后在“信任”下设置为“始终信任”。
  • 重新启动终端中的任务: killall taskgated
  • 启用root帐户:
    打开“系统偏好设置”。
    转到用户和组>解锁。
    登录选项>“加入”(网络帐户服务器旁边)。
    单击“打开目录实用程序”。
    转到“编辑”>“启用根用户”。
  • codesign -fs gdbc /usr/local/bin/gdb在终端中运行。
  • 再次禁用“根帐户”,您应该一切顺利。

学分:


1
顺便说一句,启用root用户的目的是什么?这里的说明并没有说实际登录到root用户。此外,另一个线程中答案不包括该root用户步骤。
xdavidliu

我有这个工作。由于存在其他问题因此使用最新的High Sierra,加上gdb 8.01,而不是 8.1 。另外,如另一主题所述,我必须这样做,以防止在运行gdb时出现弹出式密码提示。sudo /usr/sbin/DevToolsSecurity --enable
xdavidliu

拖动不起作用-拖动光标冻结,并且Keychain App GUI滞后。我结束了右键单击,复制,然后转到系统并右键单击并“粘贴2个项目”。
alexei

1
当我执行“ killall taskgated”时,我得到“找不到属于您的匹配进程”。“ sudo killall taskgated”确实有效。
Bruno Rijsman

1
优秀。小尼特。关于步骤:在终端中运行codesign -fs gdbc / usr / local / bin / gdb,在-fs标志之后的是证书名称。与查询中提供的SO数据对齐应该是gdbcert
Seshadri R

0

我的解决方法有些不同。我选中了“让我指定密钥对信息”选项,并使用了默认情况下选择的选项。密钥大小为2048位,算法为RSA。这似乎让我绕过了“未知错误= -2,147,414,007”。


我认为这是不正确的:没有名称为“让我指定密钥对信息”的选项。唯一类似的选项是“让我覆盖默认值”,遇到此问题的每个人都已经选择了该选项。
xdavidliu

不知道您使用的是哪种OSX,但是我在High Sierra上看到了该选项。
atodTechies 18-03-20

0

他根据我的建议更新为Mojave后,在我的一台用户计算机上收到此错误。

证书问题的最终结果是阻止我的用户连接到我们的员工wifi。

我从17/15/17开始遵循Danis的指示,但是终端命令不起作用,并且我的公司使用来自CA服务器的证书,因此细节有所不同。我确实启用了root用户。

最后,我从网络设置中删除了员工wifi,手动重新加入了员工wifi,然后将安全设置更改回EAP-TLS,选择了正确的证书,然后将其连接。

我希望我为此做得更好,但是我假设苹果更新了他们的一些网络安全性,而wifi连接设置才是真正的诀窍。


0

免责声明:钥匙串访问行为很少像预期的那样。

诚然,以下答案是一种解决方法,因为它既创建了CSR 又创建了一组新的关联密钥。

  1. 启动“钥匙串访问”,将其解锁,选择“ 登录”(但不要选择其他任何东西)

    钥匙串访问已解锁

  2. 在“ 钥匙串访问”菜单中,
    证书助理▶︎向证书颁发机构申请证书...

    向证书颁发机构请求证书

  3. 选择要与CSR和密钥对都关联的电子邮件地址。

    • 密钥对将根据通用名称在“钥匙串访问”中命名
    • 勾选让我指定密钥对信息(您将在随后的对话框中执行此操作)
      让我指定密钥对信息
  4. 保存证书签名请求

    保存企业社会责任

  5. 指定密钥大小和算法RSA 2048位

    RSA 2048位

  6. 检查“钥匙串访问”中的新密钥集。注意,“ 登录”部分现在包含一对新密钥。

    新密钥对

...并且您在使用证书助手创建证书时没有遇到“未知错误= -2,147,414,007”。


-1

创建证书之前,应先解锁系统上的锁。在这种情况下,您不会收到该错误。


这个答案根本不起作用。我刚刚在High Sierra上确认。您仍然会收到相同的错误。
xdavidliu

-1

这是我的工作:

Uncheck the Let me override defaults checkbox

然后工作正常。

我正在使用High Sierra 10.13.6(17G7024)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.