Имя: Пароль:
1C
1С v8
1С8 Https + сертификат
0 SIS72
 
14.11.11
10:16
Доброго времени суток!
Есть: тестовый сервер с корневым сертификатом, сертификатом пользователя и файлом ключа. Подключаюсь к серверу через ИнтернетЭксплорер - кричит что надо сертификат - жму просмотр и сохраняю сертификат в файл. Через OpenSSL сертификат из формата CRT конвертирую в формат PEM (насколько понял это текстовый формат)

openssl: x509 -in certificate.crt -text -outform PEM -out certificate.pem

получаю MD5 Fingerprint
openssl: x509 -in certificate.pem -noout -fingerprint -md5

записываю все это в cacert.pem - сначало MD5, потом сам текст сертификата.

Пишу простую обработку:

ЗаписьХМЛ = Новый ЗаписьXML;
ЗаписьХМЛ.ОткрытьФайл("C:\1.xml","UTF-8");
ЗаписьХМЛ.ЗаписатьОбъявлениеXML();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("data");
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.Закрыть();

ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "text/xml; charset=utf-8");

ИмяСервера = "127.0.0.1";
Порт = 443;

ХТТП = Новый HTTPСоединение(ИмяСервера,Порт,,,, истина);
ИмяПолученногоФайла = "C:\out.txt";

Попытка
ХТТП.ОтправитьДляОбработки("C:\1.xml",ИмяСервера,ИмяПолученногоФайла,ЗаголовокHTTP);
Сообщить( "ok" );    
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;

выдает ошибку "Ошибка работы с Интернет:  Peer certificate cannot be authenticated with known CA certificates"

пробую подключаться через OpenSSL - подключается нормально:
s_client -connect localhost:443 -cert certif.crt -key keyfile.key

т.е. надо где-то использовать keyfile.key - не могу не чего найти.

Подскажите люди мудрые!!! Устал уже искать информацию...
1 zak555
 
14.11.11
11:06
посмотри здесь ссылки были v8: HTTPСоединение + https + сертификат
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший