mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-18 03:49:22 +00:00
Updated to KeePassKit 3.0
Updated code to reflect changes in APIs for key creation and base32 decoding
This commit is contained in:
2
Cartfile
2
Cartfile
@@ -1,4 +1,4 @@
|
||||
github "sparkle-project/Sparkle" ~> 1.22
|
||||
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||
github "MacPass/KeePassKit" "2e4c2de06e704b2cf3670a6868e1dd7f938ab859"
|
||||
github "MacPass/KeePassKit" ~> 3.0
|
||||
github "mstarke/HNHUi" ~> 4.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
github "MacPass/KeePassKit" "2e4c2de06e704b2cf3670a6868e1dd7f938ab859"
|
||||
github "MacPass/KeePassKit" "3.0.0"
|
||||
github "MacPass/KissXML" "933f04fe5ad95c2be07ec0c2f801e140007f20fa"
|
||||
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||
github "mstarke/HNHUi" "4.0.4"
|
||||
github "robbiehanson/KissXML" "5.3.3"
|
||||
github "sparkle-project/Sparkle" "1.24.0"
|
||||
|
||||
@@ -107,7 +107,6 @@
|
||||
/* General */
|
||||
KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData;
|
||||
/* TODO move settingsChanged updates to KeePassKit as it's the models responsibility */
|
||||
metaData.settingsChanged = NSDate.date;
|
||||
metaData.databaseDescription = self.databaseDescriptionTextView.string;
|
||||
metaData.databaseName = self.databaseNameTextField.stringValue;
|
||||
|
||||
|
||||
@@ -150,10 +150,39 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
||||
|
||||
- (IBAction)generateKey:(id)sender {
|
||||
MPDocument *document = self.document;
|
||||
NSData *data = [NSData kpk_generateKeyfileDataForFormat:document.tree.minimumVersion.format];
|
||||
KPKFileVersion fileVersion = document.tree.minimumVersion;
|
||||
NSArray *fileTypes = @[];
|
||||
KPKKeyFileType keyFileType;
|
||||
|
||||
if(fileVersion.format == KPKDatabaseFormatUnknown) {
|
||||
return;
|
||||
}
|
||||
else if(fileVersion.format == KPKDatabaseFormatKdb) {
|
||||
fileTypes = @[@"key"];
|
||||
keyFileType = KPKKeyFileTypeBinary;
|
||||
}
|
||||
else {
|
||||
if(fileVersion.version <= kKPKKdbxFileVersion3) {
|
||||
keyFileType = KPKKeyFileTypeXMLVersion1;
|
||||
fileTypes = @[@"key"];
|
||||
}
|
||||
else if(fileVersion.version <=kKPKKdbxFileVersion4) {
|
||||
keyFileType = KPKKeyFileTypeXMLVersion1;
|
||||
fileTypes = @[@"key"];
|
||||
}
|
||||
else if(fileVersion.version <= kKPKKdbxFileVersion4_1) {
|
||||
keyFileType = KPKKeyFileTypeXMLVersion2;
|
||||
fileTypes = @[@"keyx"];
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
NSData *data = [NSData kpk_generateKeyfileDataOfType:keyFileType];
|
||||
if(data) {
|
||||
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
||||
savePanel.allowedFileTypes = @[@"key", @"xml"];
|
||||
savePanel.allowedFileTypes = fileTypes;
|
||||
savePanel.canCreateDirectories = YES;
|
||||
savePanel.title = NSLocalizedString(@"SAVE_KEYFILE", "Button title to save the generated key file");
|
||||
[savePanel beginWithCompletionHandler:^(NSInteger result) {
|
||||
|
||||
@@ -185,7 +185,7 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
||||
}
|
||||
|
||||
/* secret */
|
||||
NSString *secret = [generator.key base32EncodedString];
|
||||
NSString *secret = [generator.key base32EncodedStringWithOptions:0];
|
||||
self.secretTextField.stringValue = secret ? secret : @"";
|
||||
|
||||
[self.algorithmPopUpButton selectItemWithTag:generator.hashAlgorithm];
|
||||
|
||||
Reference in New Issue
Block a user