Статус: Новичок
  Группы: Участники
 Зарегистрирован: 24.08.2018(UTC) Сообщений: 3  Откуда: Tambov  
	 
	
     | 
    
        
            
		      
                Добрый день. Пишу программу для обмена с ИС Маркировка.  В системе установлена Крипто-Про, лицензионная. Есть ключи. Строка для подписания файла csptest.exe -sfsign -sign -in d:\text.txt -out d:\out.txt -my "ООО Фирма" -detached -base64 -add    успешно выполняется. Только требует выбрать ключ т.к. в реестре из несколько. Как реализовать подпись в java? Куда смотреть? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Посмотрите примеры создания/проверки подписи в архиве samples-sources.jar дистрибутива jcp, пакет CMS_samples, примеры CMS, CMSSign, CMSVerify, в пакете CAdES - примеры работы с подписью формата CAdES.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 24.08.2018(UTC) Сообщений: 3  Откуда: Tambov  
	 
	
     | 
    
        
            
		      
                Пытаюсь выполнить код. Код:
 CAdESUtility.initJCPAlgorithms();
            List<X509Certificate> chain = new ArrayList<>();
            PrivateKey privateKey = CMStools.loadKey("oootf", "123456".toCharArray());
            
            Certificate cc = CMStools.loadCertificate("oootf");
            
            X509Certificate cert = (X509Certificate) cc;
            chain.add(cert);
            Store certStore = new JcaCertStore(chain);
          
            CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
            ContentSigner contentSigner = new GostContentSignerProvider(
                    privateKey, JCP.PROVIDER_NAME);
            SignerInfoGenerator signerInfoGenerator = new JcaSignerInfoGeneratorBuilder(
                    new GostDigestCalculatorProvider(privateKey, JCP.PROVIDER_NAME)).build(contentSigner, cert);
            generator.addSignerInfoGenerator(signerInfoGenerator);
            generator.addCertificates(certStore);
          
            // Создаем совмещенную подпись PKCS7.            
            CMSProcessable content = new CMSProcessableByteArray(ss.getBytes());
            CMSSignedData signedData = generator.generate((CMSTypedData) content, true);
            // Сформированная подпись.
            byte[] pkcs7 = signedData.getEncoded();           
           
            return new String(Base64.getEncoder().encode(pkcs7));
 
 Код выполняется, получаю строку, но сервер не понимает. Это вообще правильный код для строки csptest.exe -sfsign -sign -in d:\text.txt -out d:\out.txt -my "ООО Фирма" -detached -base64 -add или нет? Спасибо.  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,064  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 740 раз в 698 постах
  
	 
	
     | 
    
        
            
		      
                Сравните подписи в asn1 декодировщике (https://lapo.it/asn1js/).    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close