CKKSItemEncrypter.h [plain text]
#if OCTAGON
#include "keychain/securityd/SecDbItem.h"
@class CKKSItem;
@class CKKSMirrorEntry;
@class CKKSKey;
@class CKKSOutgoingQueueEntry;
@class CKKSAESSIVKey;
@class CKRecordZoneID;
NS_ASSUME_NONNULL_BEGIN
#define CKKS_PADDING_MARK_BYTE 0x80
@interface CKKSItemEncrypter : NSObject
+ (CKKSItem* _Nullable)encryptCKKSItem:(CKKSItem*)baseitem
dataDictionary:(NSDictionary*)dict
updatingCKKSItem:(CKKSItem* _Nullable)olditem
parentkey:(CKKSKey*)parentkey
error:(NSError* _Nullable __autoreleasing* _Nullable)error;
+ (NSDictionary* _Nullable)decryptItemToDictionary:(CKKSItem*)item error:(NSError* _Nullable __autoreleasing* _Nullable)error;
+ (NSData* _Nullable)encryptDictionary:(NSDictionary*)dict
key:(CKKSAESSIVKey*)key
authenticatedData:(NSDictionary<NSString*, NSData*>* _Nullable)ad
error:(NSError* _Nullable __autoreleasing* _Nullable)error;
+ (NSDictionary* _Nullable)decryptDictionary:(NSData*)encitem
key:(CKKSAESSIVKey*)key
authenticatedData:(NSDictionary<NSString*, NSData*>* _Nullable)ad
error:(NSError* _Nullable __autoreleasing* _Nullable)error;
+ (NSData*)padData:(NSData*)input blockSize:(NSUInteger)blockSize additionalBlock:(BOOL)extra;
+ (NSData* _Nullable)removePaddingFromData:(NSData*)input;
@end
NS_ASSUME_NONNULL_END
#endif // OCTAGON