gpt4 book ai didi

macos - 使用终端从 Mac OS X 钥匙串(keychain)中删除私钥

转载 作者:行者123 更新时间:2023-12-01 19:21:26 25 4
gpt4 key购买 nike

我已使用“安全”终端应用程序和命令将 iOS 开发的开发人员身份(证书 + 私钥)导入到钥匙串(keychain)

security import identity.p12 -k <keychain> -P <passphrase>

这会将 p12 文件中包含的两项(证书​​和私钥)导入到给定的钥匙串(keychain)中。我忘记指定-T /usr/bin/codesign但是,这会将协同设计应用程序添加到私钥的访问列表中。我尝试将协同设计应用程序添加到访问列表但无济于事:

  • 我尝试使用添加的参数重新导入身份,但这似乎不会更改私钥的访问列表。
  • 我还尝试使用 security delete-certificate 从钥匙串(keychain)中删除证书并重新导入。这不会更改私钥的访问列表。

由于我只能通过 ssh 访问计算机,因此无法使用钥匙串(keychain) GUI 应用程序。因此,我正在寻找一种从钥匙串(keychain)中删除私钥的方法(以便之后我可以重新导入身份)。我检查了 security 的手册页工具,但没有找到删除私钥的方法。

有什么方法可以仅使用终端命令从钥匙串(keychain)中删除私钥(因为我只能通过 ssh 访问相关计算机)?

最佳答案

您的系统上有多个钥匙串(keychain):

sudo security list-keychains
"/Users/JonDoe/Library/Keychains/login.keychain"
"/Library/Keychains/System.keychain"

我认为您将其导入到系统钥匙串(keychain)中:在进行任何更改(或您选择的任何其他钥匙串(keychain))之前,首先备份您的系统根证书:

cd /System/Library/Keychains/
sudo cp SystemRootCertificates.keychain SystemRootCertificates.keychain.old

列出钥匙串(keychain)中的所有钥匙串(keychain)/所有证书:

ls -l /System/Library/Keychains/
sudo security dump-keychain /System/Library/Keychains/SystemRootCertificates.keychain

使用第二个命令会显示钥匙串(keychain)的每个证书。确定您要删除的证书。然后使用以下命令删除证书:

sudo security delete-certificate -Z <SHA-1 hash of certificate> /System/Library/Keychains/SystemRootCertificates.keychain
**alternative:**
sudo security delete-certificate -c <common name of certificate> /System/Library/Keychains/SystemRootCertificates.keychain

仅此而已。现在您可以再次导入您的证书。如果出现错误,您可以使用以下命令恢复您的钥匙串(keychain):

sudo security import certificate_files_backup -k /System/Library/Keychains/SystemRootCertificates.keychain -t cert

关于macos - 使用终端从 Mac OS X 钥匙串(keychain)中删除私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com