ios 为什么Keychain的私钥部分有这么多iMessage签名密钥?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/36259684/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Why are there so many iMessage Signing Keys in the private key section of Keychain?
提问by Sarah
I tried to clean my keychain because there are many certificates in it. When I opened the private key section, I found there are too many of the same key.
我试图清理我的钥匙串,因为里面有很多证书。当我打开私钥部分时,我发现相同的密钥太多了。
Can I delete them? I don't know what they are for. Help me please!
我可以删除它们吗?我不知道他们是为了什么。请帮帮我!
回答by Elf Sundae
It is normal and OK. If you want to clean up useless keys, just quit Messages app first, then open Keychain and delete all items named "iMessage Signing Key" and "iMessage Encryption Key". Then you should restart OS X, after rebooting, OS X will request and generate new key pairs for iMessage encryption.
这是正常的。如果您想清理无用的密钥,只需先退出消息应用程序,然后打开钥匙串并删除所有名为“iMessage 签名密钥”和“iMessage 加密密钥”的项目。然后你应该重新启动 OS X,重新启动后,OS X 将请求并生成新的 iMessage 加密密钥对。
The number of key pairs depends on how many addresses you set to receive iMessage. Open "Messages" -> "Preferences" -> "Accounts", under "You can reached fro messages at:" section, if you checked 4 addresses, OS X will generate 4 "iMessage Signing Key" and 4 "iMessage Encryption Key" and store them to Keychain.
密钥对的数量取决于您设置的接收 iMessage 的地址数量。打开“消息”->“首选项”->“帐户”,在“您可以在以下位置获取消息:”部分,如果您检查了 4 个地址,OS X 将生成 4 个“iMessage 签名密钥”和 4 个“iMessage 加密密钥”并将它们存储到钥匙串。
For details, iMessage system generates two pairs for each address, that is an RSA 1280-bit key for encryption called "iMessage Encryption Key" and an ECDSA 256-bit key for signing called "iMessage Signing Key". The private keys are saved in the device's Keychain and the public keys are sent to Apple's directory service. The user's outgoing message is individually encrypted using AES in CTR mode for each of the recipient's devices, signed using the sender's private key, and then dispatched to the Apple iMessage Service for delivery. You can check this out from iOS Security Guide. BTW, on OS X, this is done by /System/Library/PrivateFrameworks/MessageProtection.framework
.
具体来说,iMessage 系统为每个地址生成两对,即一个 RSA 1280 位加密密钥,称为“iMessage 加密密钥”,一个 ECDSA 256 位签名密钥,称为“iMessage 签名密钥”。私钥保存在设备的钥匙串中,公钥被发送到 Apple 的目录服务。用户的外发消息使用 AES 以 CTR 模式为每个收件人的设备单独加密,使用发件人的私钥签名,然后发送到 Apple iMessage 服务进行传递。您可以从iOS 安全指南 中查看。顺便说一句,在 OS X 上,这是由/System/Library/PrivateFrameworks/MessageProtection.framework
.