1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //
- // JXMsgUtil.h
- // shiku_im
- //
- // Created by p on 2019/7/31.
- // Copyright © 2019 Reese. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- NS_ASSUME_NONNULL_BEGIN
- @interface JXMsgUtil : NSObject
- @property (nonatomic, strong) NSMutableDictionary *verifyFailedDic; // 存储验签失败消息
- @property (nonatomic,strong) NSMutableArray *getDHListIds; // 用户如果正在调用获取公钥列表接口,将用户userId存入此数组,做标志位
- /**
- DH私钥PEM
- */
- @property (strong, nonatomic) NSString *dhPrivatePem; // pem格式
- @property (strong, nonatomic) NSString *dhPrivateKey; // 普通格式
- /**
- DH公钥PEM
- */
- @property (strong, nonatomic) NSString *dhPublicPem; // pem格式
- @property (strong, nonatomic) NSString *dhPublicKey; // 普通格式
- // RSA公私钥
- @property (strong, nonatomic) NSString *rsaPrivateKey; // RSA私钥
- @property (strong, nonatomic) NSString *rsaPublicKey; // RSA公钥
- + (instancetype)sharedManager;
- // 生成DH秘钥对
- - (void) generatekeyPairsDH;
- // 生成群组使用的RSA秘钥对
- - (void) generatekeyPairsRSA;
- // 获取对称秘钥S
- - (NSData *)getMsgContentKeyWithMsgId:(NSString *)msgId key:(NSString *)key;
- // 获取存储本地数据库aes加密后的content
- - (NSString *)encryptInsertChatMsgContent:(NSString *)content msgId:(NSString *)msgId;
- - (NSString *)decryptInsertChatMsgContent:(NSString *)content msgId:(NSString *)msgId;
- // 获取单聊消息验参
- - (NSString *)getChatMsgMacWithContent:(NSString *)content fromUserId:(NSString *)fromUserId toUserId:(NSString *)toUserId isEncrypt:(NSInteger)isEncrypt msgId:(NSString *)msgId publicKey:(NSString *)publicKey ;
- // 获取群聊存储本地数据库aes加密后的对称秘钥
- - (NSString *)encryptRoomMsgKey:(NSString *)roomJid randomKey:(NSString *)randomKey;
- - (NSString *)decryptRoomMsgKey:(NSString *)roomJid randomKey:(NSString *)randomKey;
- // 获取群聊消息验参
- - (NSString *)getRoomMsgMacWithContent:(NSString *)content fromUserId:(NSString *)fromUserId isEncrypt:(NSInteger)isEncrypt msgId:(NSString *)msgId randomKey:(NSString *)randomKey;
- // 单聊发消息加密
- - (NSString *)encryptContentWithPublicKey:(NSString *)publicKey content:(NSString *)content msgId:(NSString *)msgId;
- // 单聊发消息解密
- - (NSString *)decryptContentWithPublicKey:(NSString *)publicKey content:(NSString *)content msgId:(NSString *)msgId;
- // 群聊消息加密
- - (NSString *)encryptRoomContentWithUser:(JXUserObject *)user content:(NSString *)content;
- // 群聊消息解密
- - (NSString *)decryptRoomContentWithUser:(JXUserObject *)user content:(NSString *)content;
- // 获取好友公钥list
- - (void)getDHPublicKeyWithUserId:(NSString *)userId;
- // 获取群组的消息秘钥
- - (void)getChatKeyGroupWithRoomId:(NSString *)roomId;
- #pragma mark - 群组
- //
- @end
- NS_ASSUME_NONNULL_END
|