Форум КриптоПро
	 » 
	Устаревшие продукты
	 » 
	КриптоПро CSP 3.0
	 » 
	SEC_E_INTERNAL_ERROR при вызове AcquireCredentialsHandle
	 
	
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Столкнулся со следующей проблемой. При вызове AcquireCredentialsHandle получаю ошибку SEC_E_INTERNAL_ERROR. В качестве криптопровайдера использую CryptoPro 3.0. Контейнер с ключами и сертификат находятся на eToken. ОС: WinXP SP3, среда разработки MS VS 2008 SE. Код создания мандатов: Код:
int CreateCredentials(HCRYPTPROV cspHandle, PCredHandle phCreds, SECURITY_STATUS &status) {
    TimeStamp       tsExpiry;
    const DWORD     cSupportedAlgs = 0;
    ALG_ID          rgbSupportedAlgs[16];
    PCCERT_CONTEXT  pCertContext = NULL;
    int err;
    err = getCertificateContext(cspHandle, pCertContext);
    if (pCertContext == NULL)
        goto cleanup;
    ZeroMemory(&SchannelCred, sizeof(SchannelCred))
    SchannelCred.dwVersion  = SCHANNEL_CRED_VERSION;
    if(pCertContext) {
        SchannelCred.cCreds     = 1;
        SchannelCred.paCred     = &pCertContext;
    }
    SchannelCred.grbitEnabledProtocols = 0
    if(cSupportedAlgs) {
        SchannelCred.cSupportedAlgs    = cSupportedAlgs;
        SchannelCred.palgSupportedAlgs = rgbSupportedAlgs;
    }
    SchannelCred.dwFlags |= SCH_CRED_NO_DEFAULT_CREDS;
    SchannelCred.dwFlags |= SCH_CRED_MANUAL_CRED_VALIDATION;
    status = g_pSSPI->AcquireCredentialsHandleA(
                        NULL,                   // Name of principal    
                        UNISP_NAME_A,           // Name of package
                        SECPKG_CRED_OUTBOUND,   // Flags indicating use
                        NULL,                   // Pointer to logon ID
                        &SchannelCred,          // Package specific data
                        NULL,                   // Pointer to GetKey() func
                        NULL,                   // Value to pass to GetKey()
                        phCreds,                // (out) Cred Handle
                        &tsExpiry);             // (out) Lifetime (optional)
    if(status != SEC_E_OK) {
        /*
        if (status == SEC_E_INSUFFICIENT_MEMORY)
            std::cout << "!" << std::endl;
        else if (status == SEC_E_INTERNAL_ERROR)
            std::cout << "!!" << std::endl;
        else if (status == SEC_E_NO_CREDENTIALS)
            std::cout << "!!!" << std::endl;
        else if (status == SEC_E_NOT_OWNER)
            std::cout << "!!!!" << std::endl;
        else if (status == SEC_E_SECPKG_NOT_FOUND)
            std::cout << "!!!!!" << std::endl;
        else if (status == SEC_E_UNKNOWN_CREDENTIALS)
            std::cout << "!!!!!!" << std::endl;
        */
        std::cout << "!!!" << GetLastError() << std::endl;
        err = ERROR_CREATING_CREDENTIALS;
        goto cleanup;
    }
    err = FUNCTION_SUCCESS;
cleanup:
    // Освобождение контекста сертификата. В Schannel уже создана его копия.
    if(pCertContext != NULL) {
        CertFreeCertificateContext(pCertContext);
    }
    return err;
}
  
 Если для анализа проблемы нужен еще какой-либо код, готов с радостью предоставить. Может кто сталкивался? Заранее спасибо.  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы
 Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,417  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 729 раз в 630 постах
  
	 
	
     | 
    
        
            
		      
                КС1 или КС2?  Secur32.lib удобнее использовать.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                КС2 Цитата:Secur32.lib удобнее использовать.  Каким образом можно использовать? Почему удобнее?  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                Есть мысли у кого в чем может быть дело? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы
 Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,417  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 729 раз в 630 постах
  
	 
	
     | 
    
        
            
		      
                Secur32.lib эспортирует функции интрефейса SSPI. В EventLog ошибок не появляется? Советую установить Crypto-Pro Winlogon в качестве патча к SSL, а еще лучше - CSP 3.6.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                В EventLog ошибок нету, впрочем как и каких либо других сообщений связанных с проблемой. Пробовал использовать вышеуказанную библиотеку в виде подключения ее в качестве DLL - Secur32.dll. Рельтат - та же ошибка. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                При последних двух запусках в ивент лог записалась ошибка:  КриптоПро TLS. Ошибка 0x6ba при обращении к CSP: Сервер RPC недоступен. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы
 Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,417  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 729 раз в 630 постах
  
	 
	
     | 
    
        
            
		      
                Упала служба cprmcsp. Попробуйте использовать KC1, или рекомендации из предыдущего поста.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                Спасибо за совет. Попробую для начала на КС1. Отпишу через пару часов орезультатах. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Участник
  Группы: Участники
 Зарегистрирован: 06.05.2009(UTC) Сообщений: 28 Откуда: Москва
  
	 
	
     | 
    
        
            
		      
                На КриптоПро 3ю.0 КС1 ошибка воспроизводится. В ивент логе следующее: КриптоПро TLS. Ошибка 0x80092004 при обращении к CSP: Объект или свойство не найдено. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	Форум КриптоПро
	 » 
	Устаревшие продукты
	 » 
	КриптоПро CSP 3.0
	 » 
	SEC_E_INTERNAL_ERROR при вызове AcquireCredentialsHandle
	 
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close