Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
Автор: Дамир Шамуков Прошу прощения, а что именно туда указать из: 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,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
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