security命令
1.1、security简介

securitymacOS系统中钥匙串和安全模块的命令行管理工具。 对应的图形化工具为:Keychain Access.app

钥匙串(Keychain)实质上就是一个用于存放证书、密钥、密码等安全认证实体的仓库。在计算机中保存为一个后缀名为.keychain的文件。

macOS中默认存放在以下目录中:

  • ~/Library/Keychains/
  • /Library/Keychains/
  • /Network/Library/Keychains/

iOS中默认存放在/var/Keychains/keychain-2.db

1.2、security unlock-keychain

解锁钥匙串。如果钥匙串处于锁定状态,可以先用这个命令解锁,然后再执行其他操作。

示例:

security unlock-keychain ~/Library/Keychains/login.keychain
1.3、security import

导入实体。

示例1(导入证书和私钥):

security import xx.p12 -k ~/Library/Keychains/login.keychain -p PASSWORD -T /usr/bin/codesign

示例2(导入证书):

security import xx.cer -k ~/Library/Keychains/login.keychain
1.4、security cms

加密/解密CMS信息(PKCS#7)

示例:

security cms -D -i xx.mobileprovision
1.5、security find-generic-password

查找密码。

示例:

security find-generic-password -ga "ziroom2908" | grep "password:"

ziroom2908是我的WI-FI名称,更换为你要寻找密码的对应WI-FI名称。

如果ziroom2908这个WI-FI曾经被连接过,那么就能找到,否则会报告如下错误:

security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.

此命令执行过程中要求输入管理员的用户名和密码。