Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,987   Сказал «Спасибо»: 605 раз Поблагодарили: 2350 раз в 1846 постах
  
	 
	
     | 
    
        
            
		      
                Автор: Дамир Шамуков  Прошу прощения, а что именно туда  указать из: CADESCOM_BASE64_TO_BINARY	Кодировка BASE64.	0x01 CADESCOM_STRING_TO_UCS2LE	Кодировка UTF-8 или UNICODE.	0x00 при 0 и 1 подпись создает но неверный хэш  Текущий скрипт Цитата:oSignedData.ContentEncoding = 1   Content_o = LoadFilew(fromFile)   Content = Base64Encode(Content_o)   oSignedData.Content = Content   вернуться к LoadFilew - что делает?    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,987   Сказал «Спасибо»: 605 раз Поблагодарили: 2350 раз в 1846 постах
  
	 
	
     | 
    
        
            
		      
                Set objStream = CreateObject("ADODB.Stream") objStream.Type = 1 ' TypeBinary objStream.Open() objStream.LoadFromFile("C:\Temp\test.pdf") readBytes = objStream.Read()   readBytes - бинарные данные
 
  oSignedData.ContentEncoding = 1
  oSignedData.Content = Base64Encode (readBytes)
  такое получается?    | 
 | 
            
	 
        
    
    
        
              1 пользователь поблагодарил Андрей * за этот пост.  
     | 
    
        
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.02.2015(UTC) Сообщений: 43   Откуда: РФ Сказал «Спасибо»: 14 раз
  
	 
	
     | 
    
        
            
		      
                Мой вариант (также же из примеров) Цитата:Function LoadFilew(FileName)   Dim fso   Set fso = CreateObject("Scripting.FileSystemObject")   If Not fso.FileExists(FileName) Then     Err.Raise vbObjectError+1, "LoadFile", "File not found"   End If    Dim ts   Set ts = fso.OpenTextFile(FileName, ForReading)     LoadFilew = ts.ReadAll End Function  Ваш вариант: Цитата:Function LoadFileA(FileName)   Set objStream = CreateObject("ADODB.Stream")   objStream.Type = 1 ' TypeBinary   objStream.Open()   objStream.LoadFromFile(FileName)   readBytes = objStream.Read()   LoadFileA = readBytes End Function  Применение с вашим вариантом: Цитата:Dim oSignedData   Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")   oSignedData.ContentEncoding = 1   Content_o = LoadFileA(fromFile)     Content = Base64Encode(Content_o)   oSignedData.Content = Content  Ошибка та же Отредактировано пользователем 17 июля 2024 г. 18:32:43(UTC)
 | Причина: Не указана  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 10.02.2015(UTC) Сообщений: 43   Откуда: РФ Сказал «Спасибо»: 14 раз
  
	 
	
     | 
    
        
            
		      
                Автор: Андрей *  Set objStream = CreateObject("ADODB.Stream") objStream.Type = 1 ' TypeBinary objStream.Open() objStream.LoadFromFile("C:\Temp\test.pdf") readBytes = objStream.Read()   readBytes - бинарные данные
 
  oSignedData.ContentEncoding = 1
  oSignedData.Content = Base64Encode (readBytes)
  такое получается?  В итоге использую Цитата:Private Function readBytes(file)     Dim inStream     ' ADODB stream object used     Set inStream = CreateObject("ADODB.Stream")     ' open with no arguments makes the stream an empty container      inStream.Open     inStream.Type = 1     inStream.LoadFromFile(file)     readBytes = inStream.Read() End Function
  Private Function encodeBase64(bytes)     Dim DM, EL     Set DM = CreateObject("Microsoft.XMLDOM")     ' Create temporary node with Base64 data type     Set EL = DM.CreateElement("tmp")     EL.DataType = "bin.base64"     ' Set bytes, get encoded String     EL.NodeTypedValue = bytes     encodeBase64 = EL.Text End Function  с такой обработкой файла все сработало, Андрей, балгодарю вас  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close