mirror of
https://github.com/MacPass/MacPass.git
synced 2026-02-02 02:48:23 +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 "sparkle-project/Sparkle" ~> 1.22
|
||||||
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||||
github "MacPass/KeePassKit" "2e4c2de06e704b2cf3670a6868e1dd7f938ab859"
|
github "MacPass/KeePassKit" ~> 3.0
|
||||||
github "mstarke/HNHUi" ~> 4.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 "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||||
github "mstarke/HNHUi" "4.0.4"
|
github "mstarke/HNHUi" "4.0.4"
|
||||||
github "robbiehanson/KissXML" "5.3.3"
|
|
||||||
github "sparkle-project/Sparkle" "1.24.0"
|
github "sparkle-project/Sparkle" "1.24.0"
|
||||||
|
|||||||
@@ -107,7 +107,6 @@
|
|||||||
/* General */
|
/* General */
|
||||||
KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData;
|
KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData;
|
||||||
/* TODO move settingsChanged updates to KeePassKit as it's the models responsibility */
|
/* TODO move settingsChanged updates to KeePassKit as it's the models responsibility */
|
||||||
metaData.settingsChanged = NSDate.date;
|
|
||||||
metaData.databaseDescription = self.databaseDescriptionTextView.string;
|
metaData.databaseDescription = self.databaseDescriptionTextView.string;
|
||||||
metaData.databaseName = self.databaseNameTextField.stringValue;
|
metaData.databaseName = self.databaseNameTextField.stringValue;
|
||||||
|
|
||||||
|
|||||||
@@ -150,10 +150,39 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
|||||||
|
|
||||||
- (IBAction)generateKey:(id)sender {
|
- (IBAction)generateKey:(id)sender {
|
||||||
MPDocument *document = self.document;
|
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) {
|
if(data) {
|
||||||
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
||||||
savePanel.allowedFileTypes = @[@"key", @"xml"];
|
savePanel.allowedFileTypes = fileTypes;
|
||||||
savePanel.canCreateDirectories = YES;
|
savePanel.canCreateDirectories = YES;
|
||||||
savePanel.title = NSLocalizedString(@"SAVE_KEYFILE", "Button title to save the generated key file");
|
savePanel.title = NSLocalizedString(@"SAVE_KEYFILE", "Button title to save the generated key file");
|
||||||
[savePanel beginWithCompletionHandler:^(NSInteger result) {
|
[savePanel beginWithCompletionHandler:^(NSInteger result) {
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* secret */
|
/* secret */
|
||||||
NSString *secret = [generator.key base32EncodedString];
|
NSString *secret = [generator.key base32EncodedStringWithOptions:0];
|
||||||
self.secretTextField.stringValue = secret ? secret : @"";
|
self.secretTextField.stringValue = secret ? secret : @"";
|
||||||
|
|
||||||
[self.algorithmPopUpButton selectItemWithTag:generator.hashAlgorithm];
|
[self.algorithmPopUpButton selectItemWithTag:generator.hashAlgorithm];
|
||||||
|
|||||||
Reference in New Issue
Block a user