81 lines
2.4 KiB
Objective-C
81 lines
2.4 KiB
Objective-C
//
|
|
// TDSecretKey.m
|
|
// ThinkingSDK
|
|
//
|
|
// Created by wwango on 2022/1/21.
|
|
//
|
|
|
|
#import "TDSecretKey.h"
|
|
|
|
@interface TDSecretKey ()
|
|
|
|
@property (nonatomic, assign) NSUInteger version;
|
|
@property (nonatomic, copy) NSString *publicKey;
|
|
@property (nonatomic, copy) NSString *symmetricEncryption;
|
|
@property (nonatomic, copy) NSString *asymmetricEncryption;
|
|
|
|
@end
|
|
|
|
@implementation TDSecretKey
|
|
|
|
|
|
- (instancetype)initWithVersion:(NSUInteger)version
|
|
publicKey:(NSString *)publicKey {
|
|
|
|
return [[TDSecretKey alloc] initWithVersion:version
|
|
publicKey:publicKey
|
|
asymmetricEncryption:@"RSA"
|
|
symmetricEncryption:@"AES"];
|
|
}
|
|
|
|
- (instancetype)initWithVersion:(NSUInteger)version
|
|
publicKey:(NSString *)publicKey
|
|
asymmetricEncryption:(NSString *)asymmetricEncryption
|
|
symmetricEncryption:(NSString *)symmetricEncryption {
|
|
self = [super init];
|
|
if (self) {
|
|
self.version = version;
|
|
self.publicKey = publicKey;
|
|
self.asymmetricEncryption = asymmetricEncryption;
|
|
self.symmetricEncryption = symmetricEncryption;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)coder {
|
|
[coder encodeInteger:self.version forKey:@"version"];
|
|
[coder encodeObject:self.publicKey forKey:@"publicKey"];
|
|
[coder encodeObject:self.symmetricEncryption forKey:@"symmetricEncrypt"];
|
|
[coder encodeObject:self.asymmetricEncryption forKey:@"asymmetricEncrypt"];
|
|
}
|
|
|
|
- (instancetype)initWithCoder:(NSCoder *)coder {
|
|
self = [super init];
|
|
if (self) {
|
|
self.version = [coder decodeIntegerForKey:@"version"];
|
|
self.publicKey = [coder decodeObjectForKey:@"publicKey"];
|
|
self.symmetricEncryption = [coder decodeObjectForKey:@"symmetricEncrypt"];
|
|
self.asymmetricEncryption = [coder decodeObjectForKey:@"asymmetricEncrypt"];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (BOOL)isValid {
|
|
if (self.publicKey.length && self.symmetricEncryption.length && self.asymmetricEncryption.length) {
|
|
return YES;
|
|
}
|
|
return NO;
|
|
}
|
|
|
|
- (id)copyWithZone:(NSZone *)zone {
|
|
TDSecretKey *secretKey = [[[self class] allocWithZone:zone] init];
|
|
secretKey.version = self.version;
|
|
secretKey.publicKey = [self.publicKey copy];
|
|
secretKey.symmetricEncryption = [self.symmetricEncryption copy];
|
|
secretKey.asymmetricEncryption = [self.asymmetricEncryption copy];
|
|
return secretKey;
|
|
}
|
|
|
|
|
|
@end
|