ЗащищенноеСоединениеOpenSSL(Ссылка на элемент справочника СертификатыКлючейЭлектроннойПодписиИШифрования
Пытаюсь установить SSL соединение
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows());
Соединение = Новый HTTPСоединение(АдресХоста, 443,,,,,ЗащищенноеСоединение, Ложь);
Вот так Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто) нужный сертификт не выбирается.
Сертификатом из файла неудобно.
Сертификат добавлен в справчник СертификатыКлючейЭлектроннойПодписиИШифрования.
Если я сделаю Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать), то подключается, но подключение необходимо делать без участия пользователя.
Как использовать сертификат добавленный в справочник СертификатыКлючейЭлектроннойПодписиИШифрования для SLL соединения?
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows());
Соединение = Новый HTTPСоединение(АдресХоста, 443,,,,,ЗащищенноеСоединение, Ложь);
Вот так Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто) нужный сертификт не выбирается.
Сертификатом из файла неудобно.
Сертификат добавлен в справчник СертификатыКлючейЭлектроннойПодписиИШифрования.
Если я сделаю Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать), то подключается, но подключение необходимо делать без участия пользователя.
Как использовать сертификат добавленный в справочник СертификатыКлючейЭлектроннойПодписиИШифрования для SLL соединения?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) сохранять во временный файл чем не устраивает?
из типовой:
из типовой:
ИмяФайлаСертификата = ПолучитьИмяВременногоФайла(ТипСертификата);
Настройки.ДанныеСертификата.Записать(ИмяФайлаСертификата);
СертификатКлиента = Новый СертификатКлиентаФайл(ИмяФайлаСертификата, Настройки.ПарольСертификата);
Попытка
УдалитьФайлы(ИмяФайлаСертификата);
Исключение
Комментарий = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(Словарь.КорневоеСобытие(), УровеньЖурналаРегистрации.Ошибка, , , Комментарий);
КонецПопытки;
Показать
+ Получается только вот так ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать)), но тут надо выбирать сертификат руками, это не подходит.
- Если делаю так
Ошибка работы с Интернет: Ошибка инициализации SSL-соединения
- Если так
Проверил, что в файл сохраняется нужный сертификат.
Может как то можно сталать, что бы автоматом выбирался нужный сертификат, если я его вручную выбираю работает же.
- Если делаю так
Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто))
Ошибка работы с Интернет: Ошибка инициализации SSL-соединения
- Если так
&НаСервере
ДД =ЛичныйСертификат.ДанныеСертификата.Получить();
&НаКлиенте
ДД.Записать(ИмяФайлаСертификата);
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл(ИмяФайлаСертификата));
То уже сервис отвечает - "No required SSL certificate was sent".
Проверил, что в файл сохраняется нужный сертификат.
Может как то можно сталать, что бы автоматом выбирался нужный сертификат, если я его вручную выбираю работает же.
(4)
отрывки кода мало информативны.
Как получили ИмяФайлаСертификата?
см. СП:
Расширение файла важно!
ДД.Записать(ИмяФайлаСертификата);
отрывки кода мало информативны.
Как получили ИмяФайлаСертификата?
см. СП:
СертификатКлиентаФайл (FileClientCertificate)
Свойства:
ИмяФайла (FileName)
Конструкторы:
На основании файла
Описание:
Объект клиентского сертификата OpenSSL (с приватным ключом), загружаемого из файла.
Формат файла определяется по расширению имени файла:
*.PFX; *.P12 - файл сертификата формата P12;
*.PEM - файл сертификата формата PEM.
по умолчанию - файл сертификата формата PEM.
Свойства:
ИмяФайла (FileName)
Конструкторы:
На основании файла
Описание:
Объект клиентского сертификата OpenSSL (с приватным ключом), загружаемого из файла.
Формат файла определяется по расширению имени файла:
*.PFX; *.P12 - файл сертификата формата P12;
*.PEM - файл сертификата формата PEM.
по умолчанию - файл сертификата формата PEM.
Расширение файла важно!
Сертификат типа СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования.
Сертификат.ДанныеСертификата.Записать(ИмяФайлаСертификата); (сохраняется cer, как в другом формате сохранить?).
Сертификат установил из PFX файла экспортированного с компьютера где есть КриптоАрм от КриптоПро.
Контейнер в криптоПро проверял ссылка на сертификат есть.
Если из 1с сохранить сертификат (ОбщаяФорма.НастройкиЭлектроннойПодписиИШифрования) сохранится *.cer,
Ещё смущает, что могу же я вручную его выбирать, вот так СпособВыбораСертификатаWindows.Выбирать и все работает, как то указаты бы, что использовать сертификат без ручного выбирания.
Сертификат.ДанныеСертификата.Записать(ИмяФайлаСертификата); (сохраняется cer, как в другом формате сохранить?).
Сертификат установил из PFX файла экспортированного с компьютера где есть КриптоАрм от КриптоПро.
Контейнер в криптоПро проверял ссылка на сертификат есть.
Если из 1с сохранить сертификат (ОбщаяФорма.НастройкиЭлектроннойПодписиИШифрования) сохранится *.cer,
Ещё смущает, что могу же я вручную его выбирать, вот так СпособВыбораСертификатаWindows.Выбирать и все работает, как то указаты бы, что использовать сертификат без ручного выбирания.
ИмяФайлаСертификата = ПолучитьИмяВременногоФайла("cer");
ИмяФайлаСертификата = ПолучитьИмяВременногоФайла("pem") и так тоже попробовал, резултатат сервис ответил - "No required SSL certificate was sent".
Это из отладчика
ЗащищенноеСоединение ЗащищенноеСоединениеOpenSSL ЗащищенноеСоединениеOpenSSL
СертификатКлиента СертификатКлиентаФайл СертификатКлиентаФайл
ИмяФайла "C:/Users/ivsnov.1C/AppData/Local/Temp/77/v8_A5CA_1c.pem" Строка
СертификатыУдостоверяющихЦентров Неопределено
ИмяФайлаСертификата = ПолучитьИмяВременногоФайла("pem") и так тоже попробовал, резултатат сервис ответил - "No required SSL certificate was sent".
Это из отладчика
ЗащищенноеСоединение ЗащищенноеСоединениеOpenSSL ЗащищенноеСоединениеOpenSSL
СертификатКлиента СертификатКлиентаФайл СертификатКлиентаФайл
ИмяФайла "C:/Users/ivsnov.1C/AppData/Local/Temp/77/v8_A5CA_1c.pem" Строка
СертификатыУдостоверяющихЦентров Неопределено
(11) в двоичных данных cer, какое бы расширение я не указал.
Если я сделаю так ИмяФайлаСертификата = ПолучитьИмяВременногоФайла("pfx");, то сохраненный файл не откроется если просто в винде запустить, изменю расширение на cer в проводнике виндовс открывается.
Сервер при этом отвечает "No required SSL certificate was sent".
Если я сделаю так ИмяФайлаСертификата = ПолучитьИмяВременногоФайла("pfx");, то сохраненный файл не откроется если просто в винде запустить, изменю расширение на cer в проводнике виндовс открывается.
Сервер при этом отвечает "No required SSL certificate was sent".
И openssl не помог
Если из .cer дулать пишет "Could not find certificate from cert.cer", т.е. файл не подходит.
Если из pfx попробовать получить, спрашивает пароль, после ввода выдает ошибку -
Could not find certificate from cert.pfx
50D70000:error:03000079:digital envelope routines:EVP_PBE_CipherInit_ex:unknown
pbe algorithm:crypto\evp\evp_pbe.c:116:TYPE=1.2.840.113549.1.12.1.80
Если из .cer дулать пишет "Could not find certificate from cert.cer", т.е. файл не подходит.
Если из pfx попробовать получить, спрашивает пароль, после ввода выдает ошибку -
Could not find certificate from cert.pfx
50D70000:error:03000079:digital envelope routines:EVP_PBE_CipherInit_ex:unknown
pbe algorithm:crypto\evp\evp_pbe.c:116:TYPE=1.2.840.113549.1.12.1.80
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот