【Mac】【创建钥匙串】

1 Mac在钥匙串创建系统证书失败
https://blog.csdn.net/lllkey/article/details/79423596

问题:

在Eclipse的Debug,使用gdb的时候,报错如下

Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:
Unable to find Mach task port for process-id 99177: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
Unable to find Mach task port for process-id 99177: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))

参考:https://segmentfault.com/q/1010000004136334

在证书创建的最后一步选择系统,点击创建,输入密码之后,返回创建失败。

参考:https://bbs.feng.com/read-htm-tid-11539906.html

If you cannot store the certificate in the System keychain, create it in the login keychain, then exported it. You can then import it into the System keychain.
Using the contextual menu for the certificate, select Get Info, open the Trust item, and set Code Signing to Always Trust.
Finally, quit Keychain Access application to refresh the certificate store.
官方是这样说的,
你先设为登录,然后再导到系统中去

解决方法:
方法一:

1 先创建登录证书:即在创建证书的时候之前的步骤都一样,最后一步不用选择系统,直接默认的登录证书,创建成功。

2 导出登录证书:选择刚才创建好的证书,右键导出,选择位置,并设置密码

3 导入到系统证书:在钥匙串的左上角的4项中,点击系统;在钥匙串菜单栏,文件-》导入项目-》选择之前导出的p12证书,输入密码,就将证书导入到系统证书了

方法二:

1 先创建登录证书,与上面方法一步骤一样

2 将登录证书直接拖入到系统上,即可

注意:

我在第一次签名之后gdb后,再重启,再运行的时候仍然失败,重启多次,再次签名多次仍没有作用,尝试下列步骤,可以使用gdb了:

1 重新创建登录证书-》拖入到系统-》双击系统中的证书-》修改代码签名的信任为始终信任

2 打开“活动监视器”,即“Activity Monitor.app”-》在cpu标签下找到“taskgated”-》双击-》点击退出

3 运行命令:

codesign -f -s gdb_codesign $(which gdb)

可以看到结果显示:

/usr/local/bin/gdb: replacing existing signature

4 在“活动监视器”中继续找到“taskgated”(已经自动重启了)-》双击-》点击退出

5 尝试运行gdb,可以正常调试了

上一篇:iso socket基础2


下一篇:PHP内核研究(内存管理1)