소스 검색

signEndToEndPublicKey

Marino Faggiana 7 년 전
부모
커밋
833b82e7b9
1개의 변경된 파일16개의 추가작업 그리고 3개의 파일을 삭제
  1. 16 3
      iOSClient/Main/CCMain.m

+ 16 - 3
iOSClient/Main/CCMain.m

@@ -1299,13 +1299,26 @@
         if (!error) {
             
             NSError *error;
-            
+            NSString *publicKey;
+
             NSString *fileNamePath = [NSString stringWithFormat:@"%@/e2e_certificate.pem", app.directoryUser];
             NSString *certificate = [NSString stringWithContentsOfFile:fileNamePath encoding:NSUTF8StringEncoding error:&error];
-            NSString *certificateEncoded = [certificate stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+            
+            NSString *startPublicKey = @"-----BEGIN PUBLIC KEY-----";
+            NSString *endPublicKey = @"-----END PUBLIC KEY-----";
+
+            NSScanner *scanner = [NSScanner scannerWithString:certificate];
+            [scanner scanUpToString:startPublicKey intoString:nil];
+            [scanner scanString:endPublicKey intoString:nil];
+            
+            [scanner scanUpToString:startPublicKey intoString:nil];
+            [scanner scanString:startPublicKey intoString:nil];
+            [scanner scanUpToString:endPublicKey intoString:&publicKey];
+            
+            NSString *publicKeyEncoded = [publicKey stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
             
             metadataNet.action = actionSignEndToEndPublicKey;
-            metadataNet.options = certificateEncoded;
+            metadataNet.options = publicKeyEncoded;
             
             [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];