Произошла ошибка при создании объекта adodb stream

I am trying to create ADODB.Stream object in VBscript. This is the function:

   Function ByteArray2Text(varByteArray)
'Convert byte array into a string with ADODB.Stream
'Data should be real plain text because binary data will be mangled
Dim byt
Const adTypeText = 2
Const adTypeBinary = 1
    Set byt = CreateObject("ADODB.Stream")
    byt.Type = adTypeBinary
    byt.Open
    byt.Write varByteArray
    byt.Position = 0
    byt.Type = adTypeText
    byt.CharSet = "us-ascii"
    ByteArray2Text = byt.ReadText
    byt.Close
    Set byt = Nothing
End Function

When I try to run this function i am getting error:

Microsoft VBScript runtime error: ActiveX component can't create object: 'ADODB.Stream'

What i need to do, to create this ADODB.Stream object?

Marc Gravell's user avatar

Marc Gravell

1.0m263 gold badges2553 silver badges2890 bronze badges

asked Jan 29, 2010 at 13:11

user261810's user avatar

1

Make sure that you have MDAC installed.

answered Jan 29, 2010 at 13:29

Mark Bell's user avatar

Mark BellMark Bell

28.8k26 gold badges117 silver badges145 bronze badges

0

You also can try Microsoft Jet 4.0

You can also register these DLLs:

REGSVR32 "(path to "common files")Systemole dbsqloledb.dll"
REGSVR32 "(path to "common files")Systemole dbOledb32.dll"
REGSVR32 "(path to "common files")Systemole dbMsdasql.dll"
REGSVR32 "(path to "common files")SystemmsadcMsadce.dll"

They have relation with ADOdb

TAbdiukov's user avatar

TAbdiukov

1,1863 gold badges12 silver badges25 bronze badges

answered Jan 29, 2010 at 14:03

Paulo's user avatar

PauloPaulo

5181 gold badge7 silver badges19 bronze badges

1

Make sure that:

  1. The Stream component exits on your computer.
  2. If it exists, type this at run dialog:
regsvr32 "pathstream_file_here.dll"

Chances are that the steam component file has been unregistered in the registry and you can’t create an object of that.

TAbdiukov's user avatar

TAbdiukov

1,1863 gold badges12 silver badges25 bronze badges

answered Jan 29, 2010 at 13:23

Sarfraz's user avatar

SarfrazSarfraz

376k77 gold badges531 silver badges578 bronze badges

3

Время чтения: 2 минуты

Для работы на Электронных торговых площадках (ЭТП) требуется базовая настройка браузера Internet Explorer (IE).

Возможно возникновение следующих ошибок (базовая настройка требуется даже если ниже описанные ошибки не появлялись):

  • «Для поддержки электронной подписи этот сайт должен быть в «Доверенной зоне Интернет» и ActiveX компонент «ADODB.Stream» должен быть разрешен для использования в Internet Explorer. Данные не могут быть отправлены без подписи!»
  • «На Вашем компьютере не установлено программное обеспечение для поддержки электронной подписи. Электронная подпись не будет поддерживаться. Данные не могут быть отправлены без подписи!»
  • Пустая страница
  • Страница проверки Электронной подписи не выдает результата проверки
  • Различные ошибки JavaScript
  • «Невозможно создание объекта сервером программирования объектов»
  • «В Вашем браузере отсутствуют разрешения на использование ActiveX объектов»
  • «Компонент «КриптоПро ЭП Browser plug-in» не установлен»
  • «Некорректная (пустая) электронная подпись.»
  • «CAPICOM.Store — Невозможно создание объекта сервером программирования объектов»
  • «CAdESCOM.CPSigner — Невозможно создание объекта сервером программирования объектов»
  • «CAdESCOM.CadesSignedData — Невозможно создание объекта сервером программирования объектов»
  • «Настройки безопасности данного компьютера запрещают доступ к источнику данных в другом домене»

В зависимости от Ваших предпочтений или Вашей ситуации, Вы можете выбрать наиболее подходящий Вас вариант настройки браузера: Автоматическая настройка браузера или Ручная настройка браузера

Автоматическая настройка браузера:

1. Скачайте и запустите reg файл с нашего сайта по ссылке: http://browser-setting.ru/activate2.zip

2. Перезагрузите Ваш компьютер

3. Повторите попытку подписания

Если во время проверки подписи возникает окно «Security Alert» с текстом «This Web site needs access to digital certificates on this computer» — нажмите кнопку «Yes». Если хотите чтобы данное сообщение больше не всплывало, установите флаг «Do not show this dialog box again».

Ручная настройка браузера:

1. Меню «Сервис». Если у Вас отсутствует пункт «Сервис» прочитайте статью У меня нет пункта «Сервис»

2. Пункт «Свойства браузера» или «Свойства обозревателя»

3. Вкладка «Безопасность»

4. Зона «Надежные узлы» или «Надежные сайты»

5. Кнопка «Сайты» или «Узлы»

6. Введите адрес сайте Электронной торговой площадки, перед адресом Электронной торговой площадки добавьте https://*.

Пример: https://*.browser-setting.ru

Не забудьте написать адрес Электронной торговой площадки вместо сайта browser-setting.ru в примере выше.

7. Кнопка «Добавить»

8. Кнопка «Закрыть»

9. Кнопка «Другой»

10. Сброс особых параметров «Низкий»

11. Кнопка «Сбросить…»

12. В окне «Вы действительно хотите изменить настройку для этой зоны» нажмите «Да»

13. Найти в списке Параметры пункт «Использование элементов управления ActiveX, не помеченных как безопасные для использования» и выбрать пункт «Включить»

14. Кнопка «Ок»

15. Кнопка «Применить»

16. Кнопка «Ок»

17. Скачайте и запустите reg файл с нашего сайта по ссылке: https://browser-setting.ru/activate.zip или скачайте и запустите reg файл с сайта Электронной торговой площадки для которой Вы настраиваете систему.

18. Повторите проверку работоспособности подписи.

Если во время проверки подписи возникает окно «Security Alert» с текстом «This Web site needs access to digital certificates on this computer» — нажмите кнопку «Yes». Если хотите чтобы данное сообщение больше не всплывало, установите флаг «Do not show this dialog box again».

For one of our clients we are building an (internal) web application and are using ActiveX in IE11 to create some temp files.

Now on my development machine the solution I have built works fine. 64-bit Windows 7 — IE11 — .NET Framework 4.7.1 However on our production machines, the ADODB.Stream Object can’t be created. 32-bit Windows 7 — IE11 — .NET Framework 4.6.0

Assume that the IE11 Safety settings are correctly configured, as they are the same as on the development environment.

When I install .NET Framework 4.7.1 on one of the production machines the ADODB.Stream object can suddenly be created without problems. Unfortunately it is not an option to roll out an update to the .NET Framework on all of the production machines because of
other dependancies.

I am wondering if anyone could tell me if there is a certain specific part of that Framework that we could manually install on our production environment to fix this issue. Is there a DLL file we could manually install somewhere, or is there something else
I am missing?

try {
  outStream = new ActiveXObject('ADODB.Stream');
  outStream.Type = 2;
  outStream.CharSet = 'iso-8859-1';
  outStream.Open();
  outStream.WriteText(content);
  outStream.SaveToFile(tmpFilePath, 2);
  outStream.Close();
}
catch (e) {
  alert("An error occurred trying to create tempfile: " + e.description);
}

If not is there an alternative to the ADODB.Stream object that can write binary files to the filesystem. The FileSystem doesn’t seem to be able to.

So to recap: What is the least amount of software or files we need installed on our production environment to make sure the ADODB Stream object will work without having to upgrade the .NET Framework version.

Any help would be appreciated at this point.

  • Moved by

    Monday, February 12, 2018 10:12 AM

  • Moved by
    Dave PatrickMVP
    Monday, February 12, 2018 1:26 PM

Запись файлов нестандартными средствами.

Я

  

forforumandspam

03.02.10 — 09:14

В связи с проблемой с кодировкой при записи текстовый файлов v8: Кодировка текстового файла решил писать файл по примеру Книга знаний: Пример чтения и записи текстовых файлов (Scripting.FileSystemObject). Всё заработало, но радость длилась недолго. Оказывается на рабочем серваке Вынь2003 32 bit не зарегистрирован класс «Scripting.FileSystemObject». Я думаю, будет быстрее переписать код, например, на VBS или JS. Прошу знающих людей перевести код на любой вариант

fso = Новый COMОбъект(«Scripting.FileSystemObject»);

file = fso.CreateTextFile(Имя, -1, 0);

file.Write(Текст);

file.Close();

  

forforumandspam

1 — 03.02.10 — 12:08

ЛЮДИ!!! Помогите пожалуйста!

  

forforumandspam

2 — 04.02.10 — 08:13

Ну отзовитесь хоть кто-нибудь.

  

forforumandspam

3 — 04.02.10 — 09:05

Помогите переписать строчки

fso = Новый COMОбъект(«Scripting.FileSystemObject»);

file = fso.CreateTextFile(Имя, -1, 0);

file.Write(Текст);

file.Close();

на аналогичные по действию JS, VBS или WHS.

  

dk

4 — 04.02.10 — 09:12

забавный )))

если класс не зарегистрирован, то он и в vbs не будет работать

  

Jolly Roger

5 — 04.02.10 — 09:19

(0) казалось бы, причем здесь 1С, если «такой формат не понимает программа банк-клиент»…

  

БТР

6 — 04.02.10 — 09:27

Типа анек:
— Доктор когда, я делаю вот так, у меня болит вот здесь.
— А вы «во так» не делайте.
Либо нагни админа, что бы он на севаке установил то, что тебе надо, либо не записывай не на сервере.
Ну и разбирись все же в какой кодировке надо записывать этот файл. Это не явно не win-1251.

  

dk

7 — 04.02.10 — 09:31

для затравки

    Попытка
        Стрим = СоздатьОбъект("Adodb.Stream");
    Исключение
        Сообщить("Ошибка при создании объекта: Adodb.Stream");
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    Стрим.Type        = 2;
    Стрим.Mode        = 3;
    Стрим.charset    = КодоваяСтраница;
    Стрим.Open();
    
    Пустая = 0;
    Сч = 1;
    Пока Пустая < 20 Цикл
        Яч1 = Исходные.Область(Сч, 1, Сч, 1);
        Яч2 = Исходные.Область(Сч, 4, Сч, 4);
        
        НашаСтрока = 0;
        
        Товар = Яч1.Расшифровка();
        Если Врег(ТипЗначенияСтр(Товар)) = Врег("Справочник") Тогда
            Если Врег(Товар.Вид()) = Врег("Номенклатура") Тогда
                НашаСтрока = 1;
            КонецЕсли;
        КонецЕсли;            
        Если НашаСтрока = 1 Тогда
            Если Товар.ЭтоГруппа() = 0 Тогда
                ПечТовар    = СтрЗаменить(СокрЛП(Товар), ";", ":");
                ПечЦена        = СтрЗаменить(Яч2.Текст, " ", "");
                ПечЦена        = СтрЗаменить(ПечЦена, "'", "");
                ПечЦена        = СтрЗаменить(ПечЦена, ".", ",");
                ПечКод        = СокрЛП(Товар.Код);
                Стрим.WriteText(СокрЛП(ПечТовар)+";"+СокрЛП(ПечЦена)+";;;;;;;resized/"+ПечКод+".jpg;"+ПечКод+".jpg;"+ПечКод+РазделительСтрок);
            КонецЕсли;
        Иначе
            Пустая = Пустая + 1;
        КонецЕсли;
        Сч = Сч + 1;
    КонецЦикла;        
    Попытка
        Стрим.SaveToFile(ИмяФайла, 2);
        Стрим.Close();    
        Сообщить("Готово!");
    Исключение
        Сообщить("Ошибка при записи файла: " + ИмяФайла);
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

  

forforumandspam

8 — 04.02.10 — 09:35

(4) Я недеюсь, что VBS или JS имеют свои методы записи файлов. Вот и спрашиваю

(5) Программа Банк-клиент понимает форматы КодировкаТекста.OEM и КодировкаТекста.ANSI, но вот 1С не выгружает национальные символы.

Попробуйте такой пример у себя:

Файл = Новый ТекстовыйДокумент;

Файл.ДобавитьСтроку(«???»);

Файл.Записать(«C:1.txt», КодировкаТекста.ANSI);

  

forforumandspam

9 — 04.02.10 — 09:37

+(8)

Файл = Новый ТекстовыйДокумент;

Файл.ДобавитьСтроку(«???»);

Файл.Записать(«C:1.txt», КодировкаТекста.ANSI);

  

forforumandspam

10 — 04.02.10 — 09:40

Пелядь!

Файл = Новый ТекстовыйДокумент;

Файл.ДобавитьСтроку(Символ(1240)+Символ(1186)+Символ(1170));

Файл.Записать(«C:1.txt», КодировкаТекста.ANSI);

  

xzorkiix

11 — 04.02.10 — 09:40

(8) utf8 тебе в помощь… не верю чтоб банк-клиент не читал utf8

  

forforumandspam

12 — 04.02.10 — 09:40

(11) Зря не веришь.

  

ДенисЧ

13 — 04.02.10 — 09:40

(8) «Я недеюсь, что VBS или JS имеют свои методы записи файлов»

Смешной ты какой…

  

xzorkiix

14 — 04.02.10 — 09:42

(11) прочел ссылки из темы…. «звезда в шоке»… убивать надо тех, чьи решения не используют utf

  

БТР

15 — 04.02.10 — 09:45

Определи коды проблемных символов и попробуй записывать ив в текст через Символ(<Код символа>)

  

forforumandspam

16 — 04.02.10 — 09:48

(7) Какое значение должно быть у переменной «КодоваяСтраница»?

(15) см (10)

  

ДенисЧ

17 — 04.02.10 — 09:48

Предлагаю позвонить в ТП банка и спросить у них, в какой кодировке они желают видеть выгрузку с символами, не входящими в ANSI и OEM…

  

БТР

18 — 04.02.10 — 10:00

Чел, то что ты написал это код национальных символов в Unicode.
В ANSI всего 256 символов, символа с кодом 1240 там просто не может быть.

  

forforumandspam

19 — 04.02.10 — 10:12

+(0) У меня в региональных настройках «Язык программ, не поддерживающих Юникод» стоит «Казахский», поэтому файл с символами 163, 189, 170(ANSI) отображаются нормально.

(18) http://www.cyrillic.com/3dkbd/ansitable.html Однако, в ANSI и русских буковок нет.

В общем, благодаря (7) вот что получилось

   Попытка

       Стрим = Новый COMОбъект(«Adodb.Stream»);

   Исключение

       Сообщить(«Ошибка при создании объекта: Adodb.Stream»);

       Сообщить(ОписаниеОшибки());

       Возврат;

   КонецПопытки;

   

   Стрим.Type    = 2;

   Стрим.Mode    = 3;

   //Стрим.charset = «windows-1251»;

   Стрим.charset = «ascii»;

   Стрим.Open();

   Стрим.WriteText(Символ(1240)+Символ(1186)+Символ(1170));

   

   ИмяФайла = «C:1.txt»;

   Попытка

       Стрим.SaveToFile(ИмяФайла, 2);

       Стрим.Close();

       Сообщить(«Готово!»);

   Исключение

       Сообщить(«Ошибка при записи файла: » + ИмяФайла);

       Сообщить(ОписаниеОшибки());

   КонецПопытки;

При Стрим.charset = «windows-1251» работает, при Стрим.charset = «ascii» опять вопросики. Буду надеятся, что этого достаточно. Всем Спасибо!

I am trying to create ADODB.Stream object in VBscript. This is the function:

   Function ByteArray2Text(varByteArray)
'Convert byte array into a string with ADODB.Stream
'Data should be real plain text because binary data will be mangled
Dim byt
Const adTypeText = 2
Const adTypeBinary = 1
    Set byt = CreateObject("ADODB.Stream")
    byt.Type = adTypeBinary
    byt.Open
    byt.Write varByteArray
    byt.Position = 0
    byt.Type = adTypeText
    byt.CharSet = "us-ascii"
    ByteArray2Text = byt.ReadText
    byt.Close
    Set byt = Nothing
End Function

When I try to run this function i am getting error:

Microsoft VBScript runtime error: ActiveX component can't create object: 'ADODB.Stream'

What i need to do, to create this ADODB.Stream object?

Marc Gravell's user avatar

Marc Gravell

1.0m259 gold badges2529 silver badges2876 bronze badges

asked Jan 29, 2010 at 13:11

user261810's user avatar

1

Make sure that you have MDAC installed.

answered Jan 29, 2010 at 13:29

Mark Bell's user avatar

Mark BellMark Bell

28.6k24 gold badges117 silver badges144 bronze badges

0

You also can try Microsoft Jet 4.0

You can also register these DLLs:

REGSVR32 "(path to "common files")Systemole dbsqloledb.dll"
REGSVR32 "(path to "common files")Systemole dbOledb32.dll"
REGSVR32 "(path to "common files")Systemole dbMsdasql.dll"
REGSVR32 "(path to "common files")SystemmsadcMsadce.dll"

They have relation with ADOdb

TAbdiukov's user avatar

TAbdiukov

1,1883 gold badges12 silver badges25 bronze badges

answered Jan 29, 2010 at 14:03

Paulo's user avatar

PauloPaulo

5181 gold badge7 silver badges19 bronze badges

1

Make sure that:

  1. The Stream component exits on your computer.
  2. If it exists, type this at run dialog:
regsvr32 "pathstream_file_here.dll"

Chances are that the steam component file has been unregistered in the registry and you can’t create an object of that.

TAbdiukov's user avatar

TAbdiukov

1,1883 gold badges12 silver badges25 bronze badges

answered Jan 29, 2010 at 13:23

Sarfraz's user avatar

SarfrazSarfraz

374k77 gold badges529 silver badges576 bronze badges

3

Я пытаюсь создать объект ADODB.Stream в VBscript. Это функция:

   Function ByteArray2Text(varByteArray)
'Convert byte array into a string with ADODB.Stream
'Data should be real plain text because binary data will be mangled
Dim byt
Const adTypeText = 2
Const adTypeBinary = 1
    Set byt = CreateObject("ADODB.Stream")
    byt.Type = adTypeBinary
    byt.Open
    byt.Write varByteArray
    byt.Position = 0
    byt.Type = adTypeText
    byt.CharSet = "us-ascii"
    ByteArray2Text = byt.ReadText
    byt.Close
    Set byt = Nothing
End Function

Когда я пытаюсь запустить эту функцию, я получаю сообщение об ошибке:

Microsoft VBScript runtime error: ActiveX component can't create object: 'ADODB.Stream'

Что мне нужно сделать, чтобы создать этот объект ADODB.Stream?

3 ответы

Удостоверьтесь, что у вас есть MDAC установлен.

Создан 29 янв.

Вы также можете попробовать Microsoft Jet 4.0.

Вы также можете зарегистрировать эти библиотеки DLL:

REGSVR32 "(path to "common files")Systemole dbsqloledb.dll"
REGSVR32 "(path to "common files")Systemole dbOledb32.dll"
REGSVR32 "(path to "common files")Systemole dbMsdasql.dll"
REGSVR32 "(path to "common files")SystemmsadcMsadce.dll"

Они связаны с ADOdb

Создан 13 янв.

Убедись, что:

  1. Компонент Stream закроется на вашем компьютере.
  2. Если он существует, введите это в диалоговом окне запуска:
regsvr32 "pathstream_file_here.dll"

Скорее всего, файл компонента Steam не зарегистрирован в реестре, и вы не можете создать его объект.

Создан 13 янв.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

vb6
vbscript

or задайте свой вопрос.

Предложите, как улучшить StudyLib

(Для жалоб на нарушения авторских прав, используйте

другую форму
)

Ваш е-мэйл

Заполните, если хотите получить ответ

Оцените наш проект

1

2

3

4

5

Электронная площадка.

Руководство пользователя

по устранению возможных ошибок при работе с системой

Электронная торговая площадка
ОАО «Северсталь»

для закупки товаров, работ и услуг
и реализации невостребованных ТМЦ

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ ПО УСТРАНЕНИЮ ВОЗМОЖНЫХ ОШИБОК ПРИ РАБОТЕ С СИСТЕМОЙ

СОДЕРЖАНИЕ

1 Ошибки, связанные с неправильной настройкой браузера 3

1.1 Ошибка с компонентом ADODB.Stream: 3

1.2 Настройка безопасности данного компьютера запрещает доступ к данным в другом домене 4

1.3 Некорректная (пустая) электронная цифровая подпись. 5

2 Ошибка, связанные со вмешательством сторонних программ. 6

2.1 «Ошибка на странице» в левом нижнем углу появляется надпись. 6

2.2 Ошибка «Электронная цифровая подпись недействительна. Проверьте соответствие загружаемых данных и подписи». 7

3 Ошибки, связанные с использованием некорректных сертификатов. 10

3.1 Ошибка «Некоррекный корневой сертификат! Для создания ЭЦП используйте сертификат, выданный уполномоченным Удостоверяющим Центром» 10

3.2 Ошибка «На сервере произошла ошибка при проверке сертификата (в алгоритме)» 11

3.3 Ошибка «Корневой сертификат не принимается». 12

4 Ошибки, связанные с неправильной настройкой системы 13

4.1 Ошибки установки и настройки Крипто-Про 13

4.2 Ошибки настройки системного ПО 14

^

1Ошибки, связанные с неправильной настройкой браузера

Рисунок 1

  1. Проделать действия, описанные в разделах 2.2.4 (установка *.reg файла), 2.2.5 (добавление сайта в доверенную зону) «Руководства по установке и настройке средств ЭЦП».
  2. Возможно, запуск .reg файла прошел с ошибкой при настройке системы. Уточните, запускался ли файл, если нет – запустить, если да – проверить, что данные попали в реестр:
    1. Запустить Пуск → Выполнить, ввести команду regedit.
    2. В запустившемся окне «Редактор реестра», в дереве слева, перейти по пути «HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{00000566-0000-0010-8000-00AA006D2EA4}» и проверить установлен ли в «Compatibility Flags» значение «00000000».
  3. Установка библиотеки CAPICOM
    1. Если при входе на страницу, где необходимо подписать файл, возникает всплывающее окно с предложением установить надстройку CAPICOM: «Это веб-узел пытается установить следующую надстройку — CAPICOM…» необходимо провести установку и попробовать подписать файл снова.
    2. Если при входе на страницу, где необходимо подписать файл, возникает всплывающее окно с просьбой разрешить использование надстройки CAPICOM необходимо выбрать пункт «Всегда разрешать».
  4. Если проделанные действия не решили проблему, нужно:
    1. Cкриншоты, на которых отображены настройки доверенной зоны, список доменов, добавленных в доверенную зону
    2. Cкриншот страницы http://supply.severstal.com/trust-store/components.html открытой в браузере Internet Explorer.
    3. Прислать полученные скриншоты на адрес службы поддержки

^

Рисунок 2

  1. Выполните действия, описанные в п.2.2.3 руководства по установке и настройке средств ЭЦП.
  2. Сбросьте настройки на изначальные и проведитеи настройку заново. Для этого:
    1. Перейти в меню «Свойства обозревателя»;
    2. На вкладке «Безопасность» выбрать «Надежные узлы»;
    3. Нажать кнопку «По умолчанию»;
    4. Нажать «Ок»;
    5. Перезапустить браузер;
    6. Снова перейти в «Надежные узлы»;
    7. Выставить уровень безопасности – Минимальный;
    8. Нажать «Ок»;
    9. Перезапустить браузер и попробовать подписать.
    10. Если это не помогло необходимо сделать скриншоты следующих страниц и прислать их на адрес службы поддержки:
      1. окна со списком сайтов доверенной зоны.
      2. уровня безопасности доверенной зоны.

^

1.3Некорректная (пустая) электронная цифровая подпись.

Данная ошибка указывает на то, что проверка подписи прошла некорректно.

  1. Возможно, перед появлением этой ошибки появлялись какие-то всплывающие окна. В этом случае необходимо переслать скриншоты этих окон на электронный адрес технической поддержки
  2. В случае, если всплывающих окон не возникало,
    1. Сбросьте настройки уровня безопасности узлов доверенной зоны на настройки по умолчанию.
    2. Перезапустите браузер.
    3. Выставьте уровень безопасности для узлов доверенной зоны на «низкий».
    4. Перезапустите браузер.
    5. Попробуйте подписать документ.
  3. Если после проделанных выше операций ошибка остается, необходимо переслать нижеперечисленные скриншоты на электронный адрес технической поддержки
    1. Скриншот уровня безопасности узлов доверенной зоны
    2. Скриншот списка узлов доверенной зоны
    3. Скриншот страницы http://supply.severstal.com/trust-store/components.html

^

2Ошибка, связанные со вмешательством сторонних программ.

2.1«Ошибка на странице» в левом нижнем углу появляется надпись.

Рисунок 3

  1. Отключите антивирус (если установлен) или добавьте сайт в доверенную зону антивируса.
  2. Пройдите в «Сервис» — «Свойства обозревателя» — «Дополнительно», убедитесь, что стоит галочка «Включить внутреннюю поддержку XMLHTTP».
  3. Перезапустите компьютер и попробуйте снова подписать файл.
  4. Перейдите в «Сервис» — «Удалить журнал обозревателя», выберите  «Временные файлы Интернета», «Куки-файлы».
  5. Если описанные действия не привели к исправлению ошибки необходимо дважды нажать на желтый значок ошибки, в открывшемся окне нажать «Показать подробности» и прислать скриншот на адрес службы поддержки

^

2.2Ошибка «Электронная цифровая подпись недействительна. Проверьте соответствие загружаемых данных и подписи».

При появлении такой ошибки необходимо:

  1. Проверить наличие установленного антивируса AVG. Если он установлен, то нужно либо отключить его, либо добавить сайт в доверенные.
  2. Проверить наличие установки дополнений «Ad Muncher» или «Adguard», из-за них возникает проблема с проверкой данных, необходимо отключить эти дополнения или добавить в доверенную зону приложений
    1. Для Adguard необходимо в приложении в разеделе «защита» выбрать вкладку «добавить исключение» и в поле адреса вписать адрес http://supply.severstal.com/ и нажать на кнопку Добавить исключение. Затем вписать адрес https://supply.severstal.com/ и снова нажать Добавить исключение.

Рисунок 4

    1. Для Ad Muncher необходимо открыть кладку «My filters» и добавить фильтр с категорией «No filtering on URL», а в поле «URL» вписать адрес электронной торговой площадки http://supply.severstal.com/. Аналогичный фильтр сделать для https://supply.severstal.com/

Рисунок 5

  1. Отключить нестандартные надстройки Internet Explorer. Для этого:
    1. Зайдите в Internet Explorer.
    2. Выберите закладку «Сервис» → «Управление надстройками» или «Надстройки» (В зависимости от версии Internet Explorer).
    3. Для Internet Explorer 8 и выше появится следующее окно:

Рисунок 6

    1. В левой части экрана выберите «все надстройки».
    2. Отключите все надстройки кроме надстроек в разделах «Microsoft corporation» и «Sun Microsystems inc.»
      1. Выберите требуемую надстройку, нажмите на кнопку «Отключить».
  1. Уточнить, установлен ли на компьютере антивирус и включен ли он. Если да, отключить антивирус (или добавить сайт с площадкой в доверенные у антивируса), попробовать снова подписать файл.
  2. Если не помогло — сделать скриншот страницы http://supply.severstal.com/trust-store/components.html и прислать на адрес службы поддержки скриншот этой страницы, скриншот ошибки, скриншот настроек, где видно, что сайт добавлен в надежные и по ним выставлен минимальный уровень безопасности.

^

3Ошибки, связанные с использованием некорректных сертификатов.

3.1Ошибка «Некоррекный корневой сертификат! Для создания ЭЦП используйте сертификат, выданный уполномоченным Удостоверяющим Центром»

Данная ошибка возникает, если УЦ, выдавший сертификат, отсутствует в списке доверенных корневых центров сертификации на сервере. Если УЦ состоит в АЭТП, либо относится к одному из УЦ, разрешенных на площадке — необходимо написать письмо на адрес службы поддержки и приложить сертификат.

Чтобы получить сертификат надо сделать следующее:

  • В Internet Explorer перейти в меню «Сервис» — «Свойства обозревателя», выбрать вкладку «Содержание», нажать кнопку «Сертификаты».
  • В открывшемся окне выбрать используемый сертификат, нажать «Экспорт», 2 раза нажать «Далее», выбрать пункт меню «стандрат Cryptographic Message Syntax – сертификаты PKCS #7 (.p7b)» (см. рисунок), поставить галочку в поле «Включить по возможности все серификаты в путь сертификации» ввести путь, куда сохранить открытую часть сертификата, нажать «Далее».

Рисунок 7

  • После того как файл по указанному пути создастся переслать его на адрес службы поддержки.

^

3.2Ошибка «На сервере произошла ошибка при проверке сертификата (в алгоритме)»

Данная ошибка возникает, если используется некорректный сертификат, в котором алгоритмы подписи и хеширования не соответствуют ГОСТ.

При возникновении такой ошибки необходимо убедиться, что сертификат соответствует ГОСТ, в противном случае обратиться к Удостоверяющему Центру, выдавшему данный сертификат.

Для проверки соответствуют ли применяемые в сертификаты алгоритмы подписи и хеширования ГОСТ необходимо:

  • В Internet Explorer перейти в меню «Сервис» — «Свойства обозревателя», выбрать вкладку «Содержание», нажать кнопку «Сертификаты».
  • Выбрать используемый сертификат, кликнуть на нем два раза правой кнопкой мыши.
  • Открыть вкладку Состав, убедиться, что в разделах «Алгоритм подписи» и «Алгоритм хеширования подписи» указано ГОСТ Р 34.11/34.10-2001 и ГОСТ Р 34.11-94 соответственно

Рисунок 8

  • Если указанные выше действия не помогли, то необходимо выгрузить сертификат, как это показано в пункте 3.1 и переслать его по адресу службы поддержки

^
На площадке принимаются только сертификаты, выданные удостоверяющими центрами, входящими в АЭТП, УЦ ОАО «Северсталь-Инфоком», УЦ «Контур» и УЦ «Сертум-Про».

Данная ошибка возникает при использовании некоторых сертификатов, выданных удостоверяющими центрами, не входящими в перечисленный выше список.
^
В случае, если ошибка связана с установкой и настройкой программного обеспечения «Крипто Про» при попытке подписать документ возникает следующая ошибка.

Рисунок 9

При возникновении подобной ошибки нужно проделать следующие действия:

  1. Убедиться, что на компьютере установлено ПО «Крипто Про» версии не ниже 3.0 (для Windows XP допустима установка как версии 3.0, так и версии 3.6, для Windows Vista/Windows 7 допустима только версия 3.6). При необходимости установить данное программное обеспечение.
  2. Убедиться, что не закончилась лицензия на использование ПО «Крипто Про». Для этого войдите в меню Пуск, найдите папку с «КриптоПро», запустите «Управление лицензиями КриптоПро PKI». Убедитесь, что срок действия компонентов превышает текущую дату.

Рисунок 10

  1. Попробуйте переустановить КриптоПро и настроить программу заново.
  2. Возможно проблема с флешкой, на которой хранится ключ, либо ключ поврежден. Обратитесь в Удостоверяющий Центр

^

4.2Ошибки настройки системного ПО

В случае если при попытке подписать документ возникает ошибка «На Вашем компьютере не установлено программное обеспечение для поддержки цифровой подписи» необходимо выполнить описанные ниже действия.

Рисунок 11

  1. Убедитесь, что ПО крипто про установлено и на него выставлена лицензия. «Пуск»-«Программы»-«Крипто Про»-«Управление лицензиями КриптоПро PKI»
  2. Убедитесь, что используется правильный браузер. Необходимо использовать только браузер Internet Explorer версии 8.0 и выше.
  3. Убедитесь, что используется 32-битная версия браузера Internet Explorer. Для этого зайдите в меню «Справка» — «О программе». Убедитесь, что рядом с версией нет надписи «64-Bit Edition».
  4. Возможно, не установлена библиотека CAPICOM. Проделайте следующие шаги:
    1. Скачайте последнюю версию CAPICOM на сайте Microsoft, пройдя по ссылке.
    2. При установке выберите место установки — C:WindowsCapicom
    3. После установки библиотеки, ее необходимо зарегистрировать. Для этого:
      1. Запустите capicom.bat, который можно загрузить на странице «Инструкции участникам торгов» по ссылке «Приложение к руководству по устранению ошибок пользователей».
      2. Сделайте скриншоты всплывающих окон и пришлите на адрес службы поддержки
  1. Если ничего не помогло, сделайте следующее:
    1. Cкриншот страницы http://supply.severstal.com/trust-store/components.html открытой в браузере Internet Explorer. Скриншот окна программы «Пуск»-«Программы»-«Крипто Про»-«Управление лицензиями КриптоПро PKI»
    2. Скриншот ошибки
    3. Cкриншот настроек, где видно, что сайт добавлен в надежные и по ним выставлен минимальный уровень безопасности.
    4. Скриншот Окна с информацией об IE (Справка -> О Internet explorer).
    5. Скриншоты всплывающих окон, полученные в пункте 4.c
    6. Прислать полученные скриншоты на адрес службы поддержки
  • Remove From My Forums
  • Question

  • User-175177222 posted

    Hi,

    I have written a webservice that takes a file and saves it to a webserver…I tried doing this is VBA and it works perfectly in my local machine but i started getting problems when i try to save the file to a my local server which is located on a different
    machine whcih i think may be a firewall issue…

    So I decided to write a webservice and use ADODB.Stream in it… but when i run my service i get the following error..

    System.Web.HttpException: The component 'ADODB.STREAM' cannot be created.  Apartment threaded components can only be created on pages with an <%@ Page aspcompat=true %> page directive.
       at System.Web.Util.AspCompatApplicationStep.CheckThreadingModel(String progidDisplayName, Guid clsid)
       at System.Web.HttpServerUtility.CreateObject(String progID)
       at MyService.Service1.getFileBytes(String flnm, String stype) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 31
       at MyService.Service1.Sendit(String sFilename, String Stype) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 21
       at MyService.Service1.UploadFile(String Filename, String sType) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 16
    
    

     and this is my code to

    Public Function getFileBytes(ByVal flnm As String, ByVal stype As String)
            Dim objstream As Object
            objstream = Server.CreateObject("ADODB.STREAM")
            If stype = "on" Then
                objstream = 1
            End If
            objstream.open()
            objstream.LoadFromFile(flnm)
    
            If stype = "on" Then
                getFileBytes = objstream.Read
            Else
                getFileBytes = objstream.ReadText
            End If
            objstream.Close()
            objstream = Nothing
    
    
        End Function

     any help will be appreicated..

    Thanks,

    Karen

Answers

  • User1071970124 posted

    Karen, you should not be using an ActiveX component if there is a .NET equivalent. Look at the System.IO.File class, in particular, File.ReadAllText and File.ReadAllBytes.

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

  • Remove From My Forums
  • Question

  • User-175177222 posted

    Hi,

    I have written a webservice that takes a file and saves it to a webserver…I tried doing this is VBA and it works perfectly in my local machine but i started getting problems when i try to save the file to a my local server which is located on a different
    machine whcih i think may be a firewall issue…

    So I decided to write a webservice and use ADODB.Stream in it… but when i run my service i get the following error..

    System.Web.HttpException: The component 'ADODB.STREAM' cannot be created.  Apartment threaded components can only be created on pages with an <%@ Page aspcompat=true %> page directive.
       at System.Web.Util.AspCompatApplicationStep.CheckThreadingModel(String progidDisplayName, Guid clsid)
       at System.Web.HttpServerUtility.CreateObject(String progID)
       at MyService.Service1.getFileBytes(String flnm, String stype) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 31
       at MyService.Service1.Sendit(String sFilename, String Stype) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 21
       at MyService.Service1.UploadFile(String Filename, String sType) in C:Documents and SettingskroslundMy DocumentsVisual Studio 2005ProjectsMyServiceMyServiceService1.asmx.vb:line 16
    
    

     and this is my code to

    Public Function getFileBytes(ByVal flnm As String, ByVal stype As String)
            Dim objstream As Object
            objstream = Server.CreateObject("ADODB.STREAM")
            If stype = "on" Then
                objstream = 1
            End If
            objstream.open()
            objstream.LoadFromFile(flnm)
    
            If stype = "on" Then
                getFileBytes = objstream.Read
            Else
                getFileBytes = objstream.ReadText
            End If
            objstream.Close()
            objstream = Nothing
    
    
        End Function

     any help will be appreicated..

    Thanks,

    Karen

Answers

  • User1071970124 posted

    Karen, you should not be using an ActiveX component if there is a .NET equivalent. Look at the System.IO.File class, in particular, File.ReadAllText and File.ReadAllBytes.

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

Время чтения: 2 минуты

Для работы на Электронных торговых площадках (ЭТП) требуется базовая настройка браузера Internet Explorer (IE).

Возможно возникновение следующих ошибок (базовая настройка требуется даже если ниже описанные ошибки не появлялись):

  • «Для поддержки электронной подписи этот сайт должен быть в «Доверенной зоне Интернет» и ActiveX компонент «ADODB.Stream» должен быть разрешен для использования в Internet Explorer. Данные не могут быть отправлены без подписи!»
  • «На Вашем компьютере не установлено программное обеспечение для поддержки электронной подписи. Электронная подпись не будет поддерживаться. Данные не могут быть отправлены без подписи!»
  • Пустая страница
  • Страница проверки Электронной подписи не выдает результата проверки
  • Различные ошибки JavaScript
  • «Невозможно создание объекта сервером программирования объектов»
  • «В Вашем браузере отсутствуют разрешения на использование ActiveX объектов»
  • «Компонент «КриптоПро ЭП Browser plug-in» не установлен»
  • «Некорректная (пустая) электронная подпись.»
  • «CAPICOM.Store — Невозможно создание объекта сервером программирования объектов»
  • «CAdESCOM.CPSigner — Невозможно создание объекта сервером программирования объектов»
  • «CAdESCOM.CadesSignedData — Невозможно создание объекта сервером программирования объектов»
  • «Настройки безопасности данного компьютера запрещают доступ к источнику данных в другом домене»

В зависимости от Ваших предпочтений или Вашей ситуации, Вы можете выбрать наиболее подходящий Вас вариант настройки браузера: Автоматическая настройка браузера или Ручная настройка браузера

Автоматическая настройка браузера:

1. Скачайте и запустите reg файл с нашего сайта по ссылке: http://browser-setting.ru/activate2.zip

2. Перезагрузите Ваш компьютер

3. Повторите попытку подписания

Если во время проверки подписи возникает окно «Security Alert» с текстом «This Web site needs access to digital certificates on this computer» — нажмите кнопку «Yes». Если хотите чтобы данное сообщение больше не всплывало, установите флаг «Do not show this dialog box again».

Ручная настройка браузера:

1. Меню «Сервис». Если у Вас отсутствует пункт «Сервис» прочитайте статью У меня нет пункта «Сервис»

2. Пункт «Свойства браузера» или «Свойства обозревателя»

3. Вкладка «Безопасность»

4. Зона «Надежные узлы» или «Надежные сайты»

5. Кнопка «Сайты» или «Узлы»

6. Введите адрес сайте Электронной торговой площадки, перед адресом Электронной торговой площадки добавьте https://*.

Пример: https://*.browser-setting.ru

Не забудьте написать адрес Электронной торговой площадки вместо сайта browser-setting.ru в примере выше.

7. Кнопка «Добавить»

8. Кнопка «Закрыть»

9. Кнопка «Другой»

10. Сброс особых параметров «Низкий»

11. Кнопка «Сбросить…»

12. В окне «Вы действительно хотите изменить настройку для этой зоны» нажмите «Да»

13. Найти в списке Параметры пункт «Использование элементов управления ActiveX, не помеченных как безопасные для использования» и выбрать пункт «Включить»

14. Кнопка «Ок»

15. Кнопка «Применить»

16. Кнопка «Ок»

17. Скачайте и запустите reg файл с нашего сайта по ссылке: https://browser-setting.ru/activate.zip или скачайте и запустите reg файл с сайта Электронной торговой площадки для которой Вы настраиваете систему.

18. Повторите проверку работоспособности подписи.

Если во время проверки подписи возникает окно «Security Alert» с текстом «This Web site needs access to digital certificates on this computer» — нажмите кнопку «Yes». Если хотите чтобы данное сообщение больше не всплывало, установите флаг «Do not show this dialog box again».

For one of our clients we are building an (internal) web application and are using ActiveX in IE11 to create some temp files.

Now on my development machine the solution I have built works fine. 64-bit Windows 7 — IE11 — .NET Framework 4.7.1 However on our production machines, the ADODB.Stream Object can’t be created. 32-bit Windows 7 — IE11 — .NET Framework 4.6.0

Assume that the IE11 Safety settings are correctly configured, as they are the same as on the development environment.

When I install .NET Framework 4.7.1 on one of the production machines the ADODB.Stream object can suddenly be created without problems. Unfortunately it is not an option to roll out an update to the .NET Framework on all of the production machines because of
other dependancies.

I am wondering if anyone could tell me if there is a certain specific part of that Framework that we could manually install on our production environment to fix this issue. Is there a DLL file we could manually install somewhere, or is there something else
I am missing?

try {
  outStream = new ActiveXObject('ADODB.Stream');
  outStream.Type = 2;
  outStream.CharSet = 'iso-8859-1';
  outStream.Open();
  outStream.WriteText(content);
  outStream.SaveToFile(tmpFilePath, 2);
  outStream.Close();
}
catch (e) {
  alert("An error occurred trying to create tempfile: " + e.description);
}

If not is there an alternative to the ADODB.Stream object that can write binary files to the filesystem. The FileSystem doesn’t seem to be able to.

So to recap: What is the least amount of software or files we need installed on our production environment to make sure the ADODB Stream object will work without having to upgrade the .NET Framework version.

Any help would be appreciated at this point.

  • Moved by

    Monday, February 12, 2018 10:12 AM

  • Moved by
    Dave PatrickMVP
    Monday, February 12, 2018 1:26 PM

For one of our clients we are building an (internal) web application and are using ActiveX in IE11 to create some temp files.

Now on my development machine the solution I have built works fine.
64-bit Windows 7 — IE11 — .NET Framework 4.7.1
However on our production machines, the ADODB.Stream Object can’t be created.
32-bit Windows 7 — IE11 — .NET Framework 4.6.0

Assume that the IE11 Safety settings are correctly configured, as they are the same as on the development environment.

When I install .NET Framework 4.7.1 on one of the production machines the ADODB.Stream object can suddenly be created without problems.
Unfortunately it is not an option to roll out an update to the .NET Framework on all of the production machines because of other dependancies.

I am wondering if anyone could tell me if there is a certain specific part of that Framework that we could manually install on our production environment to fix this issue. Is there a DLL file we could manually install somewhere, or is there something else I am missing?

JS Code:

try {
  outStream = new ActiveXObject('ADODB.Stream');
  outStream.Type = 2;
  outStream.CharSet = 'iso-8859-1';
  outStream.Open();
  outStream.WriteText(content);
  outStream.SaveToFile(tmpFilePath, 2);
  outStream.Close();
}
catch (e) {
  alert("An error occurred trying to create tempfile: " + e.description);
}

If not is there an alternative to the ADODB.Stream object that can write binary files to the filesystem. The FileSystemObject doesn’t seem to be able to.

Additionally a lot of questions here about ActiveX seem to have the general advice: «Don’t use ActiveX». We are aware of the security issues, however it is in a completely local, secure environment and the client insists on having this functionality.

Any help would be appreciated at this point.

Понравилась статья? Поделить с друзьями:
  • Произошла ошибка при создании медиафайла указан недопустимый аргумент
  • Произошла ошибка при создании медиафайла сони вегас
  • Произошла ошибка при создании медиафайла sony vegas 13
  • Произошла ошибка при создании личной ссылки
  • Произошла ошибка при создании запроса на сертификат