AgoraEncryptionConfig
配置内置加密模式和密钥。
Objective-C
__attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
@property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
@property (copy, nonatomic) NSString * _Nullable encryptionKey;
@property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
@property (assign, nonatomic) BOOL datastreamEncryptionEnabled;
@end
encryptionMode
内置加密模式。详见 AgoraEncryptionMode。建议使用 AgoraEncryptionModeAES128GCM2
或 AgoraEncryptionModeAES256GCM2
加密模式。这两种模式支持使用盐,安全性更高。
encryptionKey
内置加密密钥,字符串类型,长度无限制。建议使用 32 字节的密钥。
注意
如果未指定该参数或将该参数设置为
nil
,则无法启用内置加密,且 SDK 会返回错误码 -2
。encryptionKdfSalt
盐,长度为 32 字节。建议你在服务端使用 OpenSSL 生成盐。
如需在 App 中添加声网内置媒体流加密,详见媒体流加密。
注意
只有在
AgoraEncryptionModeAES128GCM2
或 AgoraEncryptionModeAES256GCM2
加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0
。datastreamEncryptionEnabled
是否开启数据流加密:
YES
:开启数据流加密。NO
:(默认)关闭数据流加密。