Marino Faggiana 7 years ago
parent
commit
e3422a6928
1 changed files with 6 additions and 6 deletions
  1. 6 6
      iOSClient/Security/NCEndToEndEncryption.m

+ 6 - 6
iOSClient/Security/NCEndToEndEncryption.m

@@ -49,7 +49,7 @@
 #define PBKDF2_INTERACTION_COUNT    1024
 #define PBKDF2_KEY_LENGTH           256
 #define PBKDF2_SALT                 @"$4$YmBjm3hk$Qb74D5IUYwghUmzsMqeNFx5z0/8$"
-#define TEST_KEY                    @"hello"
+#define ASYMMETRIC_STRING_TEST      @"Nextcloud a safe home for all your data"
 
 #define fileNameCertificate         @"cert.pem"
 #define fileNameCSR                 @"csr.pem"
@@ -406,12 +406,12 @@ cleanup:
         
         NSString *privateKey = [[NSString alloc] initWithData:privateKeyData encoding:NSUTF8StringEncoding];
 
-        NSData *encryptData = [self encryptAsymmetricString:TEST_KEY publicKey:publicKey];
+        NSData *encryptData = [self encryptAsymmetricString:ASYMMETRIC_STRING_TEST publicKey:publicKey];
         if (!encryptData)
             return nil;
         NSString *decryptString = [self decryptAsymmetricData:encryptData privateKey:privateKey];
         
-        if (decryptString && [decryptString isEqualToString:TEST_KEY])
+        if (decryptString && [decryptString isEqualToString:ASYMMETRIC_STRING_TEST])
             return privateKey;
         else
             return nil;
@@ -431,14 +431,14 @@ cleanup:
     NSData *plainData = [plain dataUsingEncoding:NSUTF8StringEncoding];
     unsigned char *pKey = (unsigned char *)[publicKey UTF8String];
     
+    // Extract real publicKey
     BIO *bio = BIO_new_mem_buf(pKey, -1);
     X509 *x509 = PEM_read_bio_X509(bio, NULL, 0, NULL);
     EVP_PKEY *evpkey = X509_get_pubkey(x509);
     RSA *rsa = EVP_PKEY_get1_RSA(evpkey);
     BIO_free(bio);
 
-    int maxSize = RSA_size(rsa);
-    unsigned char *output = (unsigned char *) malloc(maxSize * sizeof(char));
+    unsigned char *output = (unsigned char *) malloc([plainData length]);
     
     int encrypted_length = RSA_public_encrypt((int)[plainData length], [plainData bytes], output, rsa, RSA_PKCS1_PADDING);
     if(encrypted_length == -1) {
@@ -459,7 +459,7 @@ cleanup:
     RSA *rsa = PEM_read_bio_RSAPrivateKey(bio, NULL, 0, NULL);
     BIO_free(bio);
     
-    unsigned char *decrypted = (unsigned char *) malloc(1000);
+    unsigned char *decrypted = (unsigned char *) malloc([chiperData length]);
     
     int decrypted_length = RSA_private_decrypt((int)[chiperData length], [chiperData bytes], decrypted, rsa, RSA_PKCS1_PADDING);
     if(decrypted_length == -1) {