| 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 29.04.2023(UTC)
 Сообщений: 10
 
 Сказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Автор: Андрей *  А без "ручного добавления" отсутствует подписанный атрибут с датой\временем? Или не проверяли?
 
 CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME - это не доверенное время, рекомендуется использовать CAdES-T и выше,
 как указано выше.
 Не вполне понимаю, как проверить подписанный атрибут, просто ориентируюсь на документацию по расширению python , где сказано "Расширение реализует интерфейс, аналогичный CAdESCOM", а в интерфейсе ICPSigner  есть коллекция AuthenticatedAttributes2 (коллекция подписанных атрибутов). Но через python к ней не достучаться. Интересно, кстати почему? Это принципиальное ограничение? В чем отличие от просто AuthenticatedAttributes? Вообще, задача изначально стояла переписать код с C#/COM на python под линукс один в один и там атрибут вручную добавляется. Насчет CAdES-T понял, проверим, хотя подпись другая получается. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 | 
            
		      
                если вы про signingTime 1.2.840.113549.1.9.5то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 29.04.2023(UTC)
 Сообщений: 10
 
 Сказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Автор: Санчир Момолдаев  если вы про signingTime 1.2.840.113549.1.9.5то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it
 Добрый день Встал такой вопрос, скорее всего не относящийся напрямую к python Есть две detached подписи типа CADES_BES Одна получена через Windows/CAdESCOM Вторая получена через Linux/python При подписании на вход передается одна и та же строка Если сравнить подписи через lapo.it, то они отличаются только в двух атрибутах: 
 1.2.840.113549.1.9.5 signingTime
1.2.840.113549.1.9.4 messageDigest
 Допустим то, что отличается signingTime вполне логично А вот почему отличается messageDigest, если подписываемая строка та же? Зависит ли это от ОС или версии КриптоПро? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 | 
            
		      
                Автор: taurus0  Автор: Санчир Момолдаев  если вы про signingTime 1.2.840.113549.1.9.5то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it
 Добрый день Встал такой вопрос, скорее всего не относящийся напрямую к python Есть две detached подписи типа CADES_BES Одна получена через Windows/CAdESCOM Вторая получена через Linux/python При подписании на вход передается одна и та же строка Если сравнить подписи через lapo.it, то они отличаются только в двух атрибутах: 
 1.2.840.113549.1.9.5 signingTime
1.2.840.113549.1.9.4 messageDigest
 Допустим то, что отличается signingTime вполне логично А вот почему отличается messageDigest, если подписываемая строка та же? Зависит ли это от ОС или версии КриптоПро? по messageDigest убедитесь что строки одинаковые. может у вас разница в \n и \r\n в конце файла. либо в кодировке посмотрите в хекс вьюере Код:linux:
xxd filename
win, powershell:
Format-Hex -Path filename
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 29.04.2023(UTC)
 Сообщений: 10
 
 Сказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Автор: Санчир Момолдаев  по messageDigest убедитесь что строки одинаковые. может у вас разница в \n и \r\n в конце файла. либо в кодировке посмотрите в хекс вьюере Код:linux:
xxd filename
win, powershell:
Format-Hex -Path filename
 Дело в том, что в этой схеме нет файлов, программно формируется одна строка, которая подписывается в двух разных сервисах через веб-запросы, на win и linux. Хотя я еще раз убедился, что в оба сервиса приходит одинаковый текст. Но интересная деталь, messageDigest отличается только если используется CADESCOM_BASE64_TO_BINARY (исходная строка преобразована в base64) Если кодировка CADESCOM_STRING_TO_UCS2LE (исходная строка НЕ преобразована в base64), то дайджест одинаковый | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 |  | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 29.04.2023(UTC)
 Сообщений: 10
 
 Сказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Автор: Санчир Момолдаев  а base64 значение строк одинаковое?может преобразование кривое?
 Удалось разобраться, проблема была в разном порядке присваивания полей Content и ContentEncoding Правильно задавать значения только в таком порядке: signedData.ContentEncoding=... signedData.Content=... В принципе кое-где  в документации есть упоминание этого, но не так, чтобы легко найти при работе с python) | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 03.10.2023(UTC) Сообщений: 18  | 
            
		      
                Здравствуйте,
 можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()?
 Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?
 
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,974  Сказал «Спасибо»: 605 разПоблагодарили: 2347 раз в 1843 постах
 
 | 
            
		      
                Автор: Mogaba  Здравствуйте,
 можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()?
 Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?
 
 Здравствуйте. Да, инициализировать content мусором, в обработке ошибок при проверке ЭП - запросить у подписанта сертификат. | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,974  Сказал «Спасибо»: 605 разПоблагодарили: 2347 раз в 1843 постах
 
 | 
            
		      
                выше с вызовом, обернуть его в try:...
 except:
 ... получить сертификат
 
 
 пробовали?
 
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close