| 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 26.10.2021(UTC)
 Сообщений: 2
 
 | 
            
		      
                Добрый день, помогите пожалуйста разобраться с интеграцией c++  и фронтенда (Browser Plugin). Необходимо шифровать данные между браузером и сервером, на симметричном ключе.  Browser Plugin предоставляет класс ISymmetricAlgorithm, для совместимости на сервере решил использовать класс CPPCadesSymmetricAlgorithmObject. В целом такой подход заработал. Но возникло несколько проблем 1.	CPPCadesSymmetricAlgorithmObject:: ImportKey не освобождает полностью память. Код:
    process_mem_usage(); // 17МБ
    for (int i = 0; i < 100000; i++)
    {
        CPPCadesSymmetricAlgorithmObject alg;
        alg.ImportKey(exportedKey, strlen(exportedKey), cert, 0, 0);
    }
     process_mem_usage(); // 795 МБ
 2.  Последовательность CPPCadesSymmetricAlgorithmObject::ImportKey и CPPCadesSymmetricAlgorithmObject::DiversifyKey со временем приводит к ошибке. Код:
   char *exportedKey = "31 2E 32 2E 36 34 33 2E 37 2E 31 2E 32 2E 35 2E 31 2E 31 00:0A 20 00 00 49 2E 00 00 4D 41 47 31 00 02 00 00 30 13 06 07 2A 85 03 02 02 24 00 06 08 2A 85 03 07 01 01 02 02 0C AC 58 07 4E 34 03 8B D5 E8 AE 57 16 0A F9 4A D2 8F B2 72 77 D7 FF 1F 05 62 FE 82 8C 39 FD AE AC 47 68 EB 29 37 3B E3 0D 4A DB 3C E7 66 2E 7A 87 6A 10 B1 07 BF C4 2D E9 B4 05 B8 E1 04 E5 FD:01 20 00 00 1E 66 00 00 FD 51 4A 37 1E 66 00 00 97 57 C6 90 13 F1 C4 9D E2 A7 F3 6C 59 40 8E 81 E0 98 1B 06 40 3E 17 48 E8 9C 27 67 FE 6E A8 74 58 C0 9E 05 56 45 1B AD C3 24 8E 16 30 09 06 07 2A 85 03 02 02 1F 01";
    char *iv = "F0 A8 6B 09 D3 8D 60 1A";
    char *divers = "B3 D1 DE 08 E5 69 CF 11 7F E5 F3 D9 E9 67 1A B3 DC 65 66 E7 40 98 BB 3B 0B 62 8B CC 70 05 A9 CC 64 72 FB 2B 39 B3 F7 D5";
    CPPCadesSymmetricAlgorithmObject alg;
    alg.ImportKey(exportedKey, strlen(exportedKey), cert, 0, 0);
    const char *pbData = "Y3J5cHJvcHJv";
    unsigned long cbData = strlen(pbData);
    for (int i = 0; i < 1000000; i++)
    {
        alg.put_DiversData(divers, strlen(divers));
        boost::shared_ptr<CPPCadesSymmetricAlgorithmObject> key;
        alg.DiversifyKey(key);
        key->put_IV(iv, strlen(iv));
        CryptoPro::CStringProxy hex_result;
        key->Encrypt(pbData, cbData, TRUE, hex_result);
    }
 На 131072  попытке вызвать метод DiversifyKey  получаю ошибку 0x80090003 Отредактировано пользователем 26 октября 2021 г. 14:13:42(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 11.03.2013(UTC) Сообщений: 805   Откуда: ОттудаСказал «Спасибо»: 4 разПоблагодарили: 148 раз в 144 постах
 
 | 
            
		      
                Добрый день.По данному вопросу переписка ведется на нашем портале ТП, обращение № 42131
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,492  Сказал «Спасибо»: 53 разПоблагодарили: 803 раз в 742 постах
 
 | 
            
		      
                Проблема будет исправлена в следующем релизе.
 Номер запроса для ориентира - CADES-2247.
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close