Форум КриптоПро
	 » 
	КриптоПро УЦ
	 » 
	СМЭВ и ЕСИA
	 » 
	Не получается получить код ЕСИА. Ошибка ESIA-007053: OAuthErrorEnum.clientSecretWrong
	 
	
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 02.09.2025(UTC) Сообщений: 2   
	 
	
     | 
    
        
            
		      
                Не получается настроить получение кода в методе aas/oauth2/v2/ac Постоянно получаю ошибку ESIA-007053: OAuthErrorEnum.clientSecretWrong Интеграция со старым методом aas/oauth2/ac настроена и работает при этом. Строку для подписи формирую согласно документации: Цитата:ID_SYSfullname id_doc2025.09.02 17:08:00 +0300 +0300a3e069d0-4a19-4c80-a43f-a5f6308fdc28https://host/v1/auth/esia/back
   В формирование ссылки уходит такой массив: Цитата: array:10 [   "client_id" => "ID_SYS"   "client_certificate_hash" => "hash"   "client_secret" => "CHzqwqqPHRM8JmAvR-aNgg9AWBJtUnlNvs3ip04QBc4h_K2BXZOt2aFlV63c6cM8f_kbYz-Ez2Lq4K52CbVQtw"   "redirect_uri" => "https://host/v1/auth/esia/back"   "scope" => "fullname id_doc"   "scope_org" => ""   "response_type" => "code"   "state" => "a3e069d0-4a19-4c80-a43f-a5f6308fdc28"   "access_type" => "offline"   "timestamp" => "2025.09.02 17:08:00 +0300" ]
 
  и ссылка получается такой: Цитата:https://esia-portal1.test.gosuslugi.ru/aas/oauth2/v2/ac?client_id=ID_SYS&client_certificate_hash=hash&client_secret=CHzqwqqPHRM8JmAvR-aNgg9AWBJtUnlNvs3ip04QBc4h_K2BXZOt2aFlV63c6cM8f_kbYz-Ez2Lq4K52CbVQtw&redirect_uri=https%3A%2F%2Fhost%2Fv1%2Fauth%2Fesia%2Fback&scope=fullname+id_doc&scope_org=&response_type=code&state=a3e069d0-4a19-4c80-a43f-a5f6308fdc28&access_type=offline×tamp=2025.09.02+17%3A08%3A00+%2B0300/quote] Вроде все по доке, но постоянные ошибки. Всю голову сломал, куда копать дальше уже не знаю Отредактировано пользователем 2 сентября 2025 г. 19:01:28(UTC)
 | Причина: Не указана  
            
	  
         
       | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,330   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 587 раз в 563 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте.
  Рекомендуем направить данные вопросы непосредственно в ТП ЕСИА.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 05.07.2018(UTC) Сообщений: 468
  Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
  
	 
	
     | 
    
        
            
		      
                Попробуйте расвернуть массив байт подписи (условно, array.Reverse()), и только потом уже закодировать в base64 urlsafe. Была такая же проблема, только я ЭП формировал средствами csptest -keyset -sign Отредактировано пользователем 12 октября 2025 г. 23:31:16(UTC)
 | Причина: Не указана    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 02.09.2025(UTC) Сообщений: 2   
	 
	
     | 
    
        
            
		      
                Проблема была в хэше ключа. Нужен хэш получать либо специальной утилитой cpverify, либо генерить функцией типа: Код:
public function getGostHash()
    {
        $store = new \CPStore();
        $store->Open(CURRENT_USER_STORE, 'My', STORE_OPEN_READ_ONLY);
        $certificates = $store->get_Certificates();
        $found = $certificates->Find(CERTIFICATE_FIND_SHA1_HASH, $this->thumbprint, 0);
        if ($found->Count() === 0) {
            throw new SignException("Not found certificate with thumbprint $this->thumbprint");
        }
        $certificate = $found->Item(1);
        if ($certificate->HasPrivateKey() === false) {
            throw new SignException('Cannot read the private key');
        }
        if ($this->pin) {
            $certificate->PrivateKey()->set_KeyPin($this->pin);
        }
        $hashedData = new \CPHashedData();
        $hashedData->set_Algorithm(\CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256);
        $hashedData->set_DataEncoding(\BASE64_TO_BINARY);
        $hashedData->Hash($certificate->Export(\ENCODE_BASE64));
        return $hashedData->get_Value(); 
    }
 
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	Форум КриптоПро
	 » 
	КриптоПро УЦ
	 » 
	СМЭВ и ЕСИA
	 » 
	Не получается получить код ЕСИА. Ошибка ESIA-007053: OAuthErrorEnum.clientSecretWrong
	 
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close