HTTPСоединение + https + сертификат #560192


#0 by zak555
Есть сертификат sert.p12 Установил сертификат Захожу на web выбираю сертификат установленный получаю таблицу как её распарсить ?
#1 by zak555
wget'ом знаю, как получить а как из 8.2 ?
#2 by zak555
как реализовать аутентификацию пользователей по клиентским SSL сертификатам ?
#3 by smaharbA
в 8.2 СП написано, что хттпс работает, но как не вкурсе - восьмерку тока осваявываю и то только по форуму, платформа есть только базовая и та далеко (
#4 by zak555
вот, что нашёл в СП, пример :
#5 by zak555
вот где реализован этот код ?
#6 by zak555
вот что такое : ДвДанные ???
#7 by smaharbA
двоичные данные
#8 by zak555
ДвДанные = Новый ДвоичныеДанные ???
#9 by smaharbA
х.з. в восьмерке дуб-дубом
#10 by zak555
я не знаю, что тогда прочитать ибо у Двочных данных нет это метода
#11 by zak555
вот это что ?
#12 by zak555
в 8.2.13.205 нету такого =(
#13 by GenV
В принципе, двоичные данные другими методами можно в Base64 преобразовывать. Base64Строка, Base64Значение. По-моему так.
#14 by zak555
так я пытаюсь понять пример из СП
#15 by zak555
я ж 7шник =)
#16 by GenV
Может раньше так было в 8.0 или в 8.1, уже не помню.
#17 by zak555
жесть
#18 by zak555
только я не понял мне из sert.p12 доставать сертификат и контейнер ?
#19 by GenV
Посмотри в типовых (например БП) обработку "ДокументооборотСКонтролирующимиОрганами". Может что подсмотришь похожее. Твой пример скорее всего оттуда. Там тоже есть ДвДанные = ... )
#20 by GenV
19+ этот метод из внешней компоненты.
#21 by zak555
открыл изверги песали
#22 by zak555
#23 by zak555
ExtIntgr.dll эта фигня только для windows ?
#24 by zak555
{Форма.Форма.Форма}: Ошибка при вызове метода контекста (ЗаписатьТекст)    ОбъектЗапись.ЗаписатьТекст(ФайлСертификатаBase64); Несоответствие типов (параметр номер '1') ФайлСертификатаBase64 = Base64Значение(Куда +  "sert.crt");
#25 by zak555
почему так ?
#26 by GenV
У тебя строка сохраняется. Причем из двоичных данных которые формируются на основании файла (так понимаю имя файла - Куда +  "sert.crt").
#27 by zak555
#28 by zak555
Глобальный контекст (Global context) Base64Строка (Base64String) Синтаксис: Base64Строка(<Значение>) Параметры: Тип: ДвоичныеДанные. Двоичные данные, которые необходимо закодировать по алгоритму base64. Возвращаемое значение: Тип: Строка. Описание: Получает строку, закодированную по алгоритму base64. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
#29 by zak555
мне нужно получить строку ? или расшифровать файл сертификата ?
#30 by GenV
Согласно примера у тебя формируется файл XMl в котором в виде строки (закодированной в Base64) сохраняется файл сертификата.
#31 by zak555
{Форма.Форма.Форма}: Ошибка при вызове метода контекста (ЗаписатьТекст)    ОбъектЗапись.ЗаписатьТекст(ФайлСертификатаBase64); по причине: Несоответствие типов (параметр номер '1')
#32 by GenV
Прикалываешься? Base64Строка. Уже два раза пример написал ... Base64Значение возвращает ДвоичныеДанные из строки.
#33 by zak555
т.е. мне надо получить строку из сертификата сначала ?!
#34 by GenV
Сначала твой сертификат (файл) сохраняется как двоичные данные (в памяти). Потом он преобразуется из двоичных данных в строку Base64, пригодную для записи в XML.
#35 by zak555
> Сначала твой сертификат (файл) сохраняется как двоичные данные (в памяти) как ? не понял
#36 by GenV
_ФайлСертификатаBase64 = Новый ДвоичныеДанные(Сертификат); теперь файл в памяти (ФайлСертификатаBase64) в виде двоичных данных. Ты его можешь преобразовать в строку, можешь сохранить в ХранилищеЗначения в базу.
#37 by zak555
стал ковырять в БП обработку ДокументооборотСКонтролирующимиОрганами так там просто по почте отправляется зашаифрованный файл
#38 by zak555
+ как узнать, какой должен быть заголовок запроса ?
#39 by zak555
!вверх!
#40 by zak555
приди
#41 by GenV
Ради интереса поискал инфу по теме. 1) Общая информация по HTTP в 1С: Получение файлов соотв. методом "Получить" 2) Использование HTTPS соединения определяется последним параметром конструктора HTTPСоединение 3) По поводу использования сертификата проверить не могу - нет такого сайта. Не нашел подтверждений работоспособности, только:
#42 by zak555
ещё раз внимательно стал смотреть ДокументооборотСКонтролирующимиОрганами там передаётся всё не по https (!)
#43 by zak555
на ИТС даже нету
#44 by GenV
+ можешь еще попробовать через WinHttpRequest:
#45 by zak555
идея в том, чтоб этот запрос можно получать не только на windows-машинах
#46 by zak555
+ и использовать только платформу 1с
#47 by zak555
т.е. понятно, что можно будет запускать wget и на unix-платформах
#48 by zak555
что-то ошибка какая-то Ошибка работы с Интернет:  Couldn't resolve host name
#49 by zak555
вернее такая : Ошибка работы с Интернет:  Peer certificate cannot be authenticated with known CA certificates
#50 by zak555
кстати, какое имя заголовка писать в cacert.pem ? sert с пробелом и без не катит
#51 by zak555
?
#52 by zak555
!
#53 by Stilet
Сертификат передать не получится. Сам эту тему изучал, задавал вопрос тех. поддержке 1С. Используй либо curl, либо на инфостарте есть платная внешняя компонента для передачи сертификата (1000 руб)
#54 by zak555
других вариантов нет ?
#55 by zak555
тут тишина
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С