为什么 Keychain 的私钥部分有这么多 iMessage 签名密钥?

Why are there so many iMessage Signing Keys in the private key section of Keychain?

我试图清理我的钥匙串,因为里面有很多证书。 当我打开私钥部分时,我发现相同的密钥太多了。

我可以删除它们吗?我不知道他们是为了什么。请帮助我!

正常,没问题。如果您想清理无用的密钥,只需先退出消息应用程序,然后打开钥匙串并删除所有名为 "iMessage Signing Key" 和 "iMessage Encryption Key" 的项目。然后你应该重新启动OS X,重新启动后,OS X 将请求并生成用于iMessage 加密的新密钥对。

密钥对的数量取决于您设置的接收 iMessage 信息的地址数量。打开 "Messages" -> "Preferences" -> "Accounts",在 "You can reached fro messages at:" 部分下,如果您检查了 4 个地址,OS X 将生成 4 "iMessage Signing Key" 和4 "iMessage Encryption Key" 并将它们存储到钥匙串。

具体来说,iMessage 系统会为每个地址生成两对,即用于加密的 RSA 1280 位密钥 "iMessage Encryption Key" 和用于签名的 ECDSA 256 位密钥 "iMessage Signing Key"。私钥保存在设备的钥匙串中,public 密钥被发送到 Apple 的目录服务。用户的外发消息使用 CTR 模式的 AES 为每个收件人的设备单独加密,使用发件人的私钥签名,然后发送到 Apple iMessage 服务进行传递。您可以从 iOS Security Guide 中查看。顺便说一句,在 OS X 上,这是由 /System/Library/PrivateFrameworks/MessageProtection.framework.

完成的