Статус: Новичок
  Группы: Участники
 Зарегистрирован: 05.01.2020(UTC) Сообщений: 6   
	 
	
     | 
    
        
            
		      
                Здравствуйте. При попытке запустить пример Sample-sources/CryptXML.java  Код:
public static void main(String[] args) throws Exception {
        /**
         * Регистрация алгоритмов ГОСТ
         */
        XmlInit.init();
        check(JCP.GOST_EL_DH_EPH_NAME,   "Crypto", JCP.GOST_EL_SIGN_NAME,       JCP.PROVIDER_NAME, "CN=cert01");
        check(JCP.GOST_DH_2012_256_NAME, "Crypto", JCP.GOST_SIGN_2012_256_NAME, JCP.PROVIDER_NAME, "CN=cert256");
        check(JCP.GOST_DH_2012_512_NAME, "Crypto", JCP.GOST_SIGN_2012_512_NAME, JCP.PROVIDER_NAME, "CN=cert512");
        System.out.println("%%% OK %%%");
    }
 
 приложение падает на вызове функции check с ошибкой java.security.NoSuchProviderException: no such provider: Crypto. Подскажите в чем причина и в какую сторону копать?  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Приведите полный номер версии JCP в формате x.y.zzzzz, Java 8 или 10+?     | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 05.01.2020(UTC) Сообщений: 6   
	 
	
     | 
    
        
            
		      
                Автор: Евгений Афанасьев  Здравствуйте. Приведите полный номер версии JCP в формате x.y.zzzzz, Java 8 или 10+?   Здравствуйте. jcp - 2.0.40035, Java 8  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 05.01.2020(UTC) Сообщений: 6   
	 
	
     | 
    
        
            
		      
                Ситуация изменилась. Сейчас получаю ошибку Код:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException
	at com.example.fss_wsdl.utils.CryptXML.main(CryptXML.java:46)
Caused by: java.lang.ClassNotFoundException: org.apache.xml.security.exceptions.AlgorithmAlreadyRegisteredException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 1 more
 
 У меня в проекте есть папка libs, в которую я скопировал jcp-шные jar-файлы: ASN1p, asn1rt, CAdES, forms_rt, J6CF, J6Oscar, JCP, JCPInst, JCPRequest, JCPRevCheck, JCPRevTools, JCPxml, JCryptoP, OCF, Oscar, XMLDsigRI. В проект их подключал через gradle (implementation files('/libs/ASN1p.jar') и т. д.) Таким же образом подключены 4 файла, про которые сказано в документации (они тоже лежат в папке libs)  Код:
    implementation files('libs/commons-logging-1.2.jar')
    implementation files('libs/serializer-2.7.1.jar')
    implementation files('libs/xalan-2.7.1.jar')
    implementation files('libs/xmlsec-1.5.0.jar')
 
 Может дело в версиях файлов? Upd.Скопировал 4 файла в .../jre/lib/ext и всё заработало. Единственное, что попробовал заменить xmlsec-1.5.0 на более свежую версию 2.3.0 и опять повалились ошибки - пока остановлюсь на рабочем варианте. Отредактировано пользователем 19 мая 2022 г. 13:05:45(UTC)
 | Причина: Не указана  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Автор: korka  попробовал заменить xmlsec-1.5.0 на более свежую версию 2.3.0 и опять повалились ошибки  xmlsec версии 1.х и 2.х отличаются, поддерживаемой JCP считается 1.5.0.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close