瀏覽代碼

convert ccrypto in singleton

Marino Faggiana 8 年之前
父節點
當前提交
c3569c6be0

+ 2 - 1
iOSClient/Actions/CCActions.swift

@@ -151,7 +151,6 @@ class CCActions: NSObject {
     
     
     func renameFileOrFolder(_ metadata: CCMetadata, fileName: String, delegate: AnyObject) {
     func renameFileOrFolder(_ metadata: CCMetadata, fileName: String, delegate: AnyObject) {
 
 
-        let crypto = CCCrypto.init()
         let metadataNet: CCMetadataNet = CCMetadataNet.init(account: appDelegate.activeAccount)
         let metadataNet: CCMetadataNet = CCMetadataNet.init(account: appDelegate.activeAccount)
         
         
         let fileName = CCUtility.removeForbiddenCharacters(fileName, hasServerForbiddenCharactersSupport: appDelegate.hasServerForbiddenCharactersSupport)!
         let fileName = CCUtility.removeForbiddenCharacters(fileName, hasServerForbiddenCharactersSupport: appDelegate.hasServerForbiddenCharactersSupport)!
@@ -168,6 +167,8 @@ class CCActions: NSObject {
         
         
         if metadata.cryptated {
         if metadata.cryptated {
             
             
+            let crypto = CCCrypto.sharedManager() as! CCCrypto
+            
             // Encrypted
             // Encrypted
             
             
             let newTitle = AESCrypt.encrypt(fileName, password: crypto.getKeyPasscode(metadata.uuid))
             let newTitle = AESCrypt.encrypt(fileName, password: crypto.getKeyPasscode(metadata.uuid))

+ 1 - 3
iOSClient/FileSystem/CCCoreData.m

@@ -1888,13 +1888,11 @@
 
 
 + (BOOL)downloadFile:(CCMetadata *)metadata directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount
 + (BOOL)downloadFile:(CCMetadata *)metadata directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount
 {
 {
-    CCCrypto *crypto = [[CCCrypto alloc] init];
-    
     // ----------------------------------------- FILESYSTEM ------------------------------------------
     // ----------------------------------------- FILESYSTEM ------------------------------------------
     
     
     // if encrypted, rewrite
     // if encrypted, rewrite
     if (metadata.cryptated == YES)
     if (metadata.cryptated == YES)
-        if ([crypto decrypt:metadata.fileID fileNameDecrypted:metadata.fileID fileNamePrint:metadata.fileNamePrint password:[crypto getKeyPasscode:metadata.uuid] directoryUser:directoryUser] == 0) return NO;
+        if ([[CCCrypto sharedManager] decrypt:metadata.fileID fileNameDecrypted:metadata.fileID fileNamePrint:metadata.fileNamePrint password:[[CCCrypto sharedManager] getKeyPasscode:metadata.uuid] directoryUser:directoryUser] == 0) return NO;
     
     
     // ------------------------------------------ COREDATA -------------------------------------------
     // ------------------------------------------ COREDATA -------------------------------------------
     
     

+ 7 - 13
iOSClient/Main/CCMain.m

@@ -2062,9 +2062,8 @@
 - (void)renameNote:(CCMetadata *)metadata fileName:(NSString *)fileName
 - (void)renameNote:(CCMetadata *)metadata fileName:(NSString *)fileName
 {
 {
     CCTemplates *templates = [[CCTemplates alloc] init];
     CCTemplates *templates = [[CCTemplates alloc] init];
-    CCCrypto *crypto = [[CCCrypto alloc] init];
     
     
-    NSMutableDictionary *field = [crypto getDictionaryEncrypted:metadata.fileName uuid:metadata.uuid isLocal:NO directoryUser:app.directoryUser];
+    NSMutableDictionary *field = [[CCCrypto sharedManager] getDictionaryEncrypted:metadata.fileName uuid:metadata.uuid isLocal:NO directoryUser:app.directoryUser];
     NSString *fileNameModel = [templates salvaNote:[field objectForKey:@"note"] titolo:fileName fileName:metadata.fileName uuid:metadata.uuid];
     NSString *fileNameModel = [templates salvaNote:[field objectForKey:@"note"] titolo:fileName fileName:metadata.fileName uuid:metadata.uuid];
     
     
     if (fileNameModel) {
     if (fileNameModel) {
@@ -2327,17 +2326,16 @@
 - (void)createFolderEncrypted:(NSString *)fileNameFolder
 - (void)createFolderEncrypted:(NSString *)fileNameFolder
 {
 {
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
-    CCCrypto *crypto = [[CCCrypto alloc] init];
     NSString *fileNamePlist;
     NSString *fileNamePlist;
     
     
     fileNameFolder = [CCUtility removeForbiddenCharacters:fileNameFolder hasServerForbiddenCharactersSupport:app.hasServerForbiddenCharactersSupport];
     fileNameFolder = [CCUtility removeForbiddenCharacters:fileNameFolder hasServerForbiddenCharactersSupport:app.hasServerForbiddenCharactersSupport];
     if (![fileNameFolder length]) return;
     if (![fileNameFolder length]) return;
     
     
-    NSString *title = [AESCrypt encrypt:fileNameFolder password:[crypto getKeyPasscode:[CCUtility getUUID]]];
+    NSString *title = [AESCrypt encrypt:fileNameFolder password:[[CCCrypto sharedManager] getKeyPasscode:[CCUtility getUUID]]];
 
 
-    fileNamePlist =  [crypto createFilenameEncryptor:fileNameFolder uuid:[CCUtility getUUID]];
+    fileNamePlist =  [[CCCrypto sharedManager] createFilenameEncryptor:fileNameFolder uuid:[CCUtility getUUID]];
     
     
-    [crypto createFilePlist:[NSTemporaryDirectory() stringByAppendingString:fileNamePlist] title:title len:0 directory:true uuid:[CCUtility getUUID] nameCurrentDevice:[CCUtility getNameCurrentDevice] icon:@""];
+    [[CCCrypto sharedManager] createFilePlist:[NSTemporaryDirectory() stringByAppendingString:fileNamePlist] title:title len:0 directory:true uuid:[CCUtility getUUID] nameCurrentDevice:[CCUtility getNameCurrentDevice] icon:@""];
     
     
     // Create folder
     // Create folder
     metadataNet.action = actionCreateFolder;
     metadataNet.action = actionCreateFolder;
@@ -2412,10 +2410,9 @@
         // ENCRYPTED
         // ENCRYPTED
         
         
         CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
         CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
-        CCCrypto *crypto = [[CCCrypto alloc] init];
         
         
         // Create File Plist
         // Create File Plist
-        NSString *fileNameCrypto = [crypto createFileDirectoryPlist:_metadata];
+        NSString *fileNameCrypto = [[CCCrypto sharedManager] createFileDirectoryPlist:_metadata];
         
         
         //-------------------------- RENAME -------------------------------------------//
         //-------------------------- RENAME -------------------------------------------//
         
         
@@ -4023,10 +4020,8 @@
             
             
             if (aViewController.fromType == CCBKPasscodeFromPasscode) {
             if (aViewController.fromType == CCBKPasscodeFromPasscode) {
                 
                 
-                CCCrypto *crypto = [[CCCrypto alloc] init];
-                
                 // verifichiamo se il passcode è corretto per il seguente file -> UUID
                 // verifichiamo se il passcode è corretto per il seguente file -> UUID
-                if ([crypto verifyPasscode:aPasscode uuid:_metadata.uuid text:_metadata.title]) {
+                if ([[CCCrypto sharedManager] verifyPasscode:aPasscode uuid:_metadata.uuid text:_metadata.title]) {
                     
                     
                     // scriviamo il passcode
                     // scriviamo il passcode
                     [CCUtility setKeyChainPasscodeForUUID:_metadata.uuid conPasscode:aPasscode];
                     [CCUtility setKeyChainPasscodeForUUID:_metadata.uuid conPasscode:aPasscode];
@@ -5508,8 +5503,7 @@
         if (!_metadata.uuid) return;
         if (!_metadata.uuid) return;
         
         
         // esiste un hint ??
         // esiste un hint ??
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        NSString *hint = [crypto getHintFromFile:_metadata.fileName isLocal:NO directoryUser:app.directoryUser];
+        NSString *hint = [[CCCrypto sharedManager] getHintFromFile:_metadata.fileName isLocal:NO directoryUser:app.directoryUser];
         
         
         // qui !! la richiesta della nuova passcode
         // qui !! la richiesta della nuova passcode
         if ([_metadata.uuid isEqualToString:[CCUtility getUUID]]) {
         if ([_metadata.uuid isEqualToString:[CCUtility getUUID]]) {

+ 4 - 5
iOSClient/Networking/CCNetworking.m

@@ -821,7 +821,6 @@
 {
 {
     NSString *directoryID = [CCCoreData getDirectoryIDFromServerUrl:serverUrl activeAccount:_activeAccount];
     NSString *directoryID = [CCCoreData getDirectoryIDFromServerUrl:serverUrl activeAccount:_activeAccount];
     NSString *fileNameCrypto;
     NSString *fileNameCrypto;
-    CCCrypto *crypto = [[CCCrypto alloc] init];
     
     
     // create Metadata
     // create Metadata
     NSString *cameraFolderName = [CCCoreData getCameraUploadFolderNameActiveAccount:_activeAccount];
     NSString *cameraFolderName = [CCCoreData getCameraUploadFolderNameActiveAccount:_activeAccount];
@@ -894,9 +893,9 @@
         
         
         if (template == NO) {
         if (template == NO) {
         
         
-            NSString *passcode = [crypto getKeyPasscode:[CCUtility getUUID]];
+            NSString *passcode = [[CCCrypto sharedManager] getKeyPasscode:[CCUtility getUUID]];
         
         
-            fileNameCrypto = [crypto encryptWithCreatePlist:fileName fileNameEncrypted:fileName passcode:passcode directoryUser:_directoryUser];
+            fileNameCrypto = [[CCCrypto sharedManager] encryptWithCreatePlist:fileName fileNameEncrypted:fileName passcode:passcode directoryUser:_directoryUser];
         
         
             // Encrypted file error
             // Encrypted file error
             if (fileNameCrypto == nil) {
             if (fileNameCrypto == nil) {
@@ -975,7 +974,7 @@
 #endif
 #endif
 
 
                     if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image] || [metadata.typeFile isEqualToString: k_metadataTypeFile_video])
                     if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image] || [metadata.typeFile isEqualToString: k_metadataTypeFile_video])
-                        [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
+                        [[CCCrypto sharedManager] addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
                     
                     
                     [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl context:_context];
                     [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl context:_context];
                     
                     
@@ -1004,7 +1003,7 @@
 #endif
 #endif
                 
                 
                 if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image] || [metadata.typeFile isEqualToString: k_metadataTypeFile_video])
                 if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image] || [metadata.typeFile isEqualToString: k_metadataTypeFile_video])
-                    [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
+                    [[CCCrypto sharedManager] addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
                 
                 
                 [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl context:_context];
                 [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl context:_context];
                 
                 

+ 5 - 0
iOSClient/Security/CCCrypto.h

@@ -22,6 +22,7 @@
 //
 //
 
 
 #import <Foundation/Foundation.h>
 #import <Foundation/Foundation.h>
+#include <CommonCrypto/CommonDigest.h>
 
 
 #import "AESCrypt.h"
 #import "AESCrypt.h"
 #import "RNEncryptor.h"
 #import "RNEncryptor.h"
@@ -31,6 +32,8 @@
 
 
 @interface CCCrypto : NSObject
 @interface CCCrypto : NSObject
 
 
++ (id)sharedManager;
+
 - (NSString *)getKeyPasscode:(NSString *)uuid;
 - (NSString *)getKeyPasscode:(NSString *)uuid;
 
 
 - (void)autoInsertPasscodeUUID:(NSString *)uuid text:(NSString *)text;
 - (void)autoInsertPasscodeUUID:(NSString *)uuid text:(NSString *)text;
@@ -57,4 +60,6 @@
 
 
 - (NSUInteger)decrypt:(NSString *)fileName fileNameDecrypted:(NSString*)fileNameDecrypted fileNamePrint:(NSString *)fileNamePrint password:(NSString *)password directoryUser:(NSString *)directoryUser;
 - (NSUInteger)decrypt:(NSString *)fileName fileNameDecrypted:(NSString*)fileNameDecrypted fileNamePrint:(NSString *)fileNamePrint password:(NSString *)password directoryUser:(NSString *)directoryUser;
 
 
+- (NSString *)createSHA512:(NSString *)string;
+
 @end
 @end

+ 27 - 0
iOSClient/Security/CCCrypto.m

@@ -25,6 +25,16 @@
 
 
 @implementation CCCrypto
 @implementation CCCrypto
 
 
+//Singleton
++ (id)sharedManager {
+    static CCCrypto *CCCrypto = nil;
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        CCCrypto = [[self alloc] init];
+    });
+    return CCCrypto;
+}
+
 #pragma --------------------------------------------------------------------------------------------
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Encryption function =====
 #pragma mark ===== Encryption function =====
 #pragma --------------------------------------------------------------------------------------------
 #pragma --------------------------------------------------------------------------------------------
@@ -350,4 +360,21 @@
     return len;
     return len;
 }
 }
 
 
+#pragma --------------------------------------------------------------------------------------------
+#pragma mark ===== SHA512 =====
+#pragma---------------------------------------------------------------------------------------------
+
+- (NSString *)createSHA512:(NSString *)string
+{
+    const char *cstr = [string cStringUsingEncoding:NSUTF8StringEncoding];
+    NSData *data = [NSData dataWithBytes:cstr length:string.length];
+    uint8_t digest[CC_SHA512_DIGEST_LENGTH];
+    CC_SHA512(data.bytes, (unsigned int)data.length, digest);
+    NSMutableString* output = [NSMutableString  stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2];
+    
+    for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++)
+        [output appendFormat:@"%02x", digest[i]];
+    return output;
+}
+
 @end
 @end

+ 1 - 2
iOSClient/Templates/CCAccountWeb.m

@@ -50,11 +50,10 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
         
         
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
         
         
         XLFormSectionDescriptor *section;
         XLFormSectionDescriptor *section;
         XLFormRowDescriptor *row;
         XLFormRowDescriptor *row;

+ 1 - 3
iOSClient/Templates/CCBancomat.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;
         XLFormRowDescriptor * row;
         XLFormRowDescriptor * row;

+ 1 - 3
iOSClient/Templates/CCCartaDiCredito.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
         
         
         //XLFormDescriptor * form ;
         //XLFormDescriptor * form ;
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;

+ 1 - 3
iOSClient/Templates/CCCartaIdentita.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         //XLFormDescriptor * form ;
         //XLFormDescriptor * form ;
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;

+ 1 - 3
iOSClient/Templates/CCContoCorrente.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;
         XLFormRowDescriptor * row;
         XLFormRowDescriptor * row;

+ 1 - 3
iOSClient/Templates/CCNote.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelPressed:)];
         self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelPressed:)];
         self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(savePressed:)];
         self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(savePressed:)];

+ 1 - 3
iOSClient/Templates/CCPassaporto.m

@@ -50,11 +50,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         //XLFormDescriptor * form ;
         //XLFormDescriptor * form ;
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;

+ 1 - 3
iOSClient/Templates/CCPatenteGuida.m

@@ -52,11 +52,9 @@
         self.uuid = uuid;
         self.uuid = uuid;
         self.serverUrl = serverUrl;
         self.serverUrl = serverUrl;
         
         
-        CCCrypto *crypto = [[CCCrypto alloc] init];
-        
         // if fileName read Crypto File
         // if fileName read Crypto File
         if (fileName)
         if (fileName)
-            field = [crypto getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
+            field = [[CCCrypto sharedManager] getDictionaryEncrypted:fileName uuid:uuid isLocal:isLocal directoryUser:app.directoryUser];
    
    
         //XLFormDescriptor * form ;
         //XLFormDescriptor * form ;
         XLFormSectionDescriptor * section;
         XLFormSectionDescriptor * section;

+ 6 - 8
iOSClient/Templates/CCTemplates.m

@@ -48,7 +48,6 @@
 {
 {
     NSString *fileNameModel = nil;
     NSString *fileNameModel = nil;
     NSData *data;
     NSData *data;
-    CCCrypto *crypto = [[CCCrypto alloc] init];
     
     
     NSMutableDictionary * result = [NSMutableDictionary dictionary];
     NSMutableDictionary * result = [NSMutableDictionary dictionary];
     for (XLFormSectionDescriptor * section in form.formSections) {
     for (XLFormSectionDescriptor * section in form.formSections) {
@@ -71,15 +70,15 @@
     }
     }
     
     
     // save the result
     // save the result
-    NSString *title = [AESCrypt encrypt:[result objectForKey:@"titolo"] password:[crypto getKeyPasscode:uuid]];
+    NSString *title = [AESCrypt encrypt:[result objectForKey:@"titolo"] password:[[CCCrypto sharedManager] getKeyPasscode:uuid]];
     if (fileName) {
     if (fileName) {
         fileNameModel = fileName;
         fileNameModel = fileName;
         // copy in memory for failure write
         // copy in memory for failure write
         data = [NSData dataWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", uuid, fileName]];
         data = [NSData dataWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", uuid, fileName]];
     } else {
     } else {
-        fileNameModel = [NSString stringWithFormat:@"%@.plist", [crypto createFilenameEncryptor:[result objectForKey:@"titolo"] uuid:uuid]];
+        fileNameModel = [NSString stringWithFormat:@"%@.plist", [[CCCrypto sharedManager] createFilenameEncryptor:[result objectForKey:@"titolo"] uuid:uuid]];
     }
     }
-    if ([crypto createTemplatesPlist:fileNameModel title:title uuid:uuid icon:icona model:modello dictionary:result] == NO) {
+    if ([[CCCrypto sharedManager] createTemplatesPlist:fileNameModel title:title uuid:uuid icon:icona model:modello dictionary:result] == NO) {
         
         
         UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_read_file_error_", nil) message:NSLocalizedString(@"_reload_folder_", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"_ok_", nil), nil];
         UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_read_file_error_", nil) message:NSLocalizedString(@"_reload_folder_", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"_ok_", nil), nil];
         [alertView show];
         [alertView show];
@@ -99,22 +98,21 @@
     NSString *fileNameModel = nil;
     NSString *fileNameModel = nil;
     NSData *data;
     NSData *data;
     NSMutableDictionary * result = [NSMutableDictionary dictionary];
     NSMutableDictionary * result = [NSMutableDictionary dictionary];
-    CCCrypto *crypto = [[CCCrypto alloc] init];
     
     
     [result setObject:(titolo ?: [NSNull null]) forKey:@"titolo"];
     [result setObject:(titolo ?: [NSNull null]) forKey:@"titolo"];
     [result setObject:(html ?: [NSNull null]) forKey:@"note"];
     [result setObject:(html ?: [NSNull null]) forKey:@"note"];
     
     
     // save the result
     // save the result
-    NSString *title = [AESCrypt encrypt:[result objectForKey:@"titolo"] password:[crypto getKeyPasscode:uuid]];
+    NSString *title = [AESCrypt encrypt:[result objectForKey:@"titolo"] password:[[CCCrypto sharedManager] getKeyPasscode:uuid]];
     if (fileName) {
     if (fileName) {
         fileNameModel = fileName;
         fileNameModel = fileName;
         // copy in memory for failure write
         // copy in memory for failure write
         data = [NSData dataWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", uuid, fileName]];
         data = [NSData dataWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", uuid, fileName]];
     } else {
     } else {
-        fileNameModel = [NSString stringWithFormat:@"%@.plist",[crypto createFilenameEncryptor:[result objectForKey:@"titolo"] uuid:uuid]];
+        fileNameModel = [NSString stringWithFormat:@"%@.plist",[[CCCrypto sharedManager] createFilenameEncryptor:[result objectForKey:@"titolo"] uuid:uuid]];
     }
     }
     
     
-    if ([crypto createTemplatesPlist:fileNameModel title:title uuid:uuid icon:@"note" model:@"note" dictionary:result] == NO) {
+    if ([[CCCrypto sharedManager] createTemplatesPlist:fileNameModel title:title uuid:uuid icon:@"note" model:@"note" dictionary:result] == NO) {
         
         
         UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_read_file_error_", nil) message:NSLocalizedString(@"_reload_folder_", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"_ok_", nil), nil];
         UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_read_file_error_", nil) message:NSLocalizedString(@"_reload_folder_", nil) delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"_ok_", nil), nil];
         [alertView show];
         [alertView show];

+ 2 - 4
iOSClient/Utility/CCUtility.m

@@ -921,8 +921,6 @@
     NSString *fileNamePlist, *temp, *passcode;
     NSString *fileNamePlist, *temp, *passcode;
     NSError *error;
     NSError *error;
     
     
-    CCCrypto *crypto = [[CCCrypto alloc] init];
-    
     // find the plist
     // find the plist
     // 1) directory temp
     // 1) directory temp
     // 2) directory serverUrl
     // 2) directory serverUrl
@@ -942,9 +940,9 @@
     NSString *uuid = [data objectForKey:@"uuid"];
     NSString *uuid = [data objectForKey:@"uuid"];
     
     
     // AutoInsert password if possible Versione 1.3
     // AutoInsert password if possible Versione 1.3
-    [crypto autoInsertPasscodeUUID:uuid text:title];
+    [[CCCrypto sharedManager] autoInsertPasscodeUUID:uuid text:title];
     
     
-    passcode = [crypto getKeyPasscode:uuid];
+    passcode = [[CCCrypto sharedManager] getKeyPasscode:uuid];
 
 
     metadata.cryptated = YES;
     metadata.cryptated = YES;
     metadata.directory = [[data objectForKey:@"dir"] boolValue];
     metadata.directory = [[data objectForKey:@"dir"] boolValue];