| 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 29.09.2015(UTC) Сообщений: 17  Откуда: ИжевскСказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Есть ли какие-то обновления по данному вопросу? Какую ещё дополнительную информацию мы можем предоставить для анализа?Сейчас из-за этой проблемы у клиента блокируется работа в нашем приложении.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-ПроСказал(а) «Спасибо»: 21 разПоблагодарили: 740 раз в 698 постах
 
 | 
            
		      
                Автор: Ranzed  Есть ли какие-то обновления по данному вопросу? Какую ещё дополнительную информацию мы можем предоставить для анализа?Сейчас из-за этой проблемы у клиента блокируется работа в нашем приложении.
 Подобную ошибку мы встречали один раз, в случае Knox: при отсутствии имени провайдера в конструкции вида Signature.getInstance jvm использует некую свою реализацию (TimaSignatureSHA1RSA) по умолчанию, которая, естественно, ГОСТ не знает. Указанный выше стек ошибки относится к Автор: Ranzed  Трейс ошибки тот же самый. Воспроизводится на планшете Samsung с Android 11. Защищенный контейнер Knox не используется.
 
 ? Клиент ничего не напутал и использует ваше приложение с корректным Signature.getInstance? Если в коде действительно верно задан Signature.getInstance и правильно определяется алгоритм подписи с помощью getSignatureInstanceAlgName (именно ГОСТ по certificate), то: 1. выведите список провайдеров с помощью: Код:
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
  System.out.println("%% PROVIDER: " + provider.getName() + ", info = " + provider.getInfo());
  Set<Provider.Service> services = provider.getServices();
  Iterator<Provider.Service> iterator = services.iterator();
  while (iterator.hasNext()) {
    Provider.Service service = iterator.next();
    System.out.println("\t * algorithm = " + service.getAlgorithm() + ", class = " + service.getClassName());
  } // while
} // for
 2. Дайте детальное описание устройства. 3. Приложите весь лог в том числе до появления стека ошибки, возможно, выше по логу будет еще какая-то информация. 4. Выведите провайдер из Signature в коде п.1 до signature.initSign: Цитата:Signature signature = Signature.getInstance(signAlg, JCSP.PROVIDER_NAME);
 Provider p = signature.getProvider(); // <-- распечатать Provider
 signature.initSign(privateKey);
 
 Отредактировано пользователем 5 октября 2021 г. 14:42:06(UTC)
 | Причина: Не указана | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close