Multipeer Connectivity框架中使用的加密?

时间:2015-11-03 13:33:47

标签: ios bluetooth chat multipeer-connectivity

嘿我在ios中使用多对等连接框架来进行聊天应用。此框架是否支持任何加密。我想了解此框架中使用的加密,如AES或RSA加密系统? 我的发现或研究:
1. https://datatheorem.github.io/documents/BH_MultipeerConnectivity.pdf 2. https://nabla-c0d3.github.io/blog/2014/08/20/multipeer-connectivity-follow-up/

请发布你的建议

2 个答案:

答案 0 :(得分:1)

是的, MCSession.h

中有加密选项
 // Encryption preference.
typedef NS_ENUM (NSInteger, MCEncryptionPreference) {
MCEncryptionOptional = 0,                   // session preferred encryption but will accept unencrypted connections
MCEncryptionRequired = 1,                   // session requires encryption
MCEncryptionNone = 2,                       // session should not be encrypted
} NS_ENUM_AVAILABLE (10_10, 7_0);

调用此方法:

- (instancetype)initWithPeer:(MCPeerID *)myPeerID
        securityIdentity:(nullable NSArray *)identity
    encryptionPreference:(MCEncryptionPreference)encryptionPreference NS_DESIGNATED_INITIALIZER;

答案 1 :(得分:1)

要回答第二个问题,MCSession使用DTLS加密其数据。 DTLS基于TLS(替代SSL),并提供相同级别的安全性。

所以只需使用

MCSession *session = [[MCSession alloc] initWithPeer:localPeerID
                                securityIdentity:nil
                            encryptionPreference:MCEncryptionRequired];

确保您的通信安全。