瀏覽代碼

dev privatekey

Marino Faggiana 7 年之前
父節點
當前提交
ff967ee1a5
共有 2 個文件被更改,包括 16 次插入3 次删除
  1. 5 3
      iOSClient/Main/CCMain.m
  2. 11 0
      iOSClient/Security/NCEndToEndEncryption.m

+ 5 - 3
iOSClient/Main/CCMain.m

@@ -1251,11 +1251,13 @@
             // remove keychain
             [CCUtility setEndToEndPrivateKey:app.activeUser privateKey:nil];
             
-            CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
+            //CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
             
-            NSString *mnemonic = [NYMnemonic generateMnemonicString:@128 language:@"english"];
+            NSString *mnemonic = [[NYMnemonic generateMnemonicString:@128 language:@"english"] stringByReplacingOccurrencesOfString:@" " withString:@""];
 
-            NSString *privateKeyEncoded = [[NCEndToEndEncryption sharedManager] createEndToEndPrivateKey:app.activeUserID directoryUser:app.directoryUser mnemonic:mnemonic];
+            mnemonic = @"moreovertelevisionfactorytendencyindependenceinternationalintellectualimpressinterestvolunteer";
+            
+            //NSString *privateKeyEncoded = [[NCEndToEndEncryption sharedManager] createEndToEndPrivateKey:app.activeUserID directoryUser:app.directoryUser mnemonic:mnemonic];
             
             message = @"private key doesn't exists";
         }

+ 11 - 0
iOSClient/Security/NCEndToEndEncryption.m

@@ -26,6 +26,8 @@
 #import "CCUtility.h"
 
 #import <CommonCrypto/CommonDigest.h>
+#import <CommonCrypto/CommonKeyDerivation.h>
+
 
 #import <openssl/x509.h>
 #import <openssl/bio.h>
@@ -267,6 +269,15 @@ cleanup:
 
 - (NSString *)createEndToEndPrivateKey:(NSString *)userID directoryUser:(NSString *)directoryUser mnemonic:(NSString *)mnemonic
 {
+    NSMutableData *secretKey = [NSMutableData dataWithLength:256];
+    NSData *salt = [@"$4$YmBjm3hk$Qb74D5IUYwghUmzsMqeNFx5z0/8$" dataUsingEncoding:NSUTF8StringEncoding];
+    
+    CCKeyDerivationPBKDF(kCCPBKDF2, mnemonic.UTF8String, mnemonic.length, salt.bytes,salt.length, kCCPRFHmacAlgSHA1, 1024, secretKey.mutableBytes, secretKey.length);
+    
+    NSString* skey = [secretKey base64EncodedStringWithOptions:0];
+    NSLog(@"key %@",secretKey);
+    
+    
     return nil;
 }