Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.01.2012(UTC) Сообщений: 52  Откуда: Москва  
	 
	
     | 
    
        
            
		      
                Здравствуйте! Подскажите, пожалуйста, константы "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" и ="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" указывают на один и тот же алгоритм? Подписываю SOAP-сообщение с помощью КриптоПро JCP, запрос не принимается на сервере. Различие между моим запросом и тестовым такие:  - у меня: <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/> и <DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>  - в примере: <SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411"/> и <DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411"/> Это же вроде бы просто одно и то же в разных стандартах? Если в методе подписания просто заменить  fac.newDigestMethod("http://www.w3.org/2001/04/xmldsig-more#gostr3411", null) на fac.newDigestMethod("urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411", null), валится с ошибкой java.security.NoSuchAlgorithmException: unsupported algorithm Спасибо. Отредактировано пользователем 29 июня 2012 г. 16:48:19(UTC)
 | Причина: Не указана  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Да, это одно и то же. Видимо, имя в таком формате не поддерживается в библиотеке (только uri).    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Да, это одно и то же. Видимо, имя в таком формате не поддерживается в библиотеке (только uri). Проверим и обновим на след. неделе.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Обновили архив и библиотеку (wss4j+jcp). Попробуйте с ней указать алгоритмы urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411 и urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.01.2012(UTC) Сообщений: 52  Откуда: Москва  
	 
	
     | 
    
        
            
		      
                Да! С новой библиотекой всё работает! Спасибо! 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.01.2012(UTC) Сообщений: 52  Откуда: Москва  
	 
	
     | 
    
        
            
		      
                Работает не всё. Как выяснилось, метод verifySecuredMessage класса SOAPXMLSignatureManager_1_6_3 валится при появлении в подписанном xml-е русских символов в данных. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Какой пример вы используете? XML-файл в UTF-8? Можете привести лог ошибки? Отредактировано пользователем 8 августа 2012 г. 15:57:47(UTC)
 | Причина: Не указана    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.01.2012(UTC) Сообщений: 52  Откуда: Москва  
	 
	
     | 
    
        
            
		      
                Пример использую test_jcp_wss4j1_6 скачанный 07.06.2012 Валится на строке:  Document doc = message.getSOAPPart().getEnvelope().getOwnerDocument(); Ошибка: SEVERE: SAAJ0511: Unable to create envelope from given source StackTrase такой: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to create envelope from given source:  	at com.sun.xml.internal.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:114) 	at com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.createEnvelopeFromSource(SOAPPart1_1Impl.java:70) 	at com.sun.xml.internal.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:122) 	at ru.wss4j1_6_3.manager.SOAPXMLSignatureManager_1_6_3.verifySecuredMessage(SOAPXMLSignatureManager_1_6_3.java:136) 	at ru.wss4j1_6_3.manager.SOAPXMLSignatureManager_1_6_3.verifyDoc(SOAPXMLSignatureManager_1_6_3.java:115) 	at ru.wss4j1_6_3.tests.forum.ForumTest_gPOST_t4379.main(ForumTest_gPOST_t4379.java:165) Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x12) was found in the element content of the document.
  Подписываемый файл абсолютно точно в юникоде. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Посмотрите в файле SOAPXMLSignatureManager_1_6_3.java - в нем метод verifySecuredMessage вызывается внутри verifyDoc. Вероятно, документ неправильно перекодируется. Попробуйте оформить метод verifyDoc так: Код:
public boolean verifyDoc(Document signedDoc, boolean printCert) throws UnsupportedEncodingException {
	String docStr = org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
        ByteArrayInputStream bi = new ByteArrayInputStream(docStr.getBytes("UTF8"));
	MessageFactory messageFactory = null;
	SOAPMessage sm = null;
	boolean result = false;
		
	try {
		// Create SOAP XML message from string (signed document)
		messageFactory = MessageFactory.newInstance();
		sm = messageFactory.createMessage(null, bi);
		// Verify signature
		result = verifySecuredMessage(sm, printCert);
	} catch (SOAPException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		
	return result;
}
 
    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.01.2012(UTC) Сообщений: 52  Откуда: Москва  
	 
	
     | 
    
        
            
		      
                да, спасибо, так работает.
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close