Имя: Пароль:
1C
 
Создание веб-сервиса с самоподписанным сертификатом безопасности
,
0 vi0
 
11.08.15
13:55
Коллеги, помогите организовать свой защищенный веб-сервис с использованием самоподписанного SSL сертификата безопасности. Сертификат создал по следующей инструкции http://catalog.mista.ru/public/146288. При публикации конфигурации, работа с конфигурацией через браузер действительно идет по протоколу https, но мне нужно работать с веб-сервисами, не с конфигурацией.

Основной вопрос - что из себя представляют параметры СертификатКлиента и СертификатыУдостоверяющихЦентров в конструкторе объекта ЗащищенноеСоединениеOpenSSL?

В синтаксис помощнике у объекта ЗащищенноеСоединениеOpenSSL приведено 4 примера:


ssl1 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто),
            Новый СертификатыУдостоверяющихЦентровWindows());

ssl2 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаWindows(),
            Новый СертификатыУдостоверяющихЦентровФайл("C:/certs/myca.pem"));

ssl3 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаФайл("C:/certs/user.p12", "password" ),
            Новый СертификатыУдостоверяющихЦентровФайл("C:/certs/myca.pem"));

ssl4 = Новый ЗащищенноеСоединениеOpenSSL( неопределено, неопределено );

Вопросы:

1. СертификатыУдостоверяющихЦентровWindows - правильно я понимаю, что этот объект представляет собой собой все клиентские сертификаты которые импортированны в хранилище Windows? Например туда входит сертификат, который содал апач с расширением crt, по нажатию на который в проводинике предлагается его установить в хранилище windows? Именно его нужно (файл crt) переслать клиентам веб-сервиса?

2. СертификатКлиентаWindows - если выбираем Авто то Windows сама найдет нужный сертификат? Интересно как она это делает?

3. СертификатыУдостоверяющихЦентровФайл - что за файл здесь нужно передавать в параметре? pem файл я могу получить если сконвертирую файл crt созданный апачем в файл pem. Так нужно поступить?

4. СертификатКлиентаФайл - что здесь нужно указать? где взять этот файл?

5. Для чего может потребоваться пример 4 ?

6. В документации и в обсуждениях в инете часто упоминается файл CACERT.PEM, который нужно редактировать на клиентской стороне. Зачем нужен этот файл? Он всегда нужен?
Вижу его упоминание в документации 8.2 в главе "Работа по защищенному каналу" http://its.1c.ru/db/v8doc#content:19:1:issogl3_7.4.3.2.работапозащищенномуканалу
Но в документации 8.3 в главе "Работа по защищенному каналу" про этот файл уже не говорится. Значит ли это что это файл используется только в 8.2? http://its.1c.ru/db/v83doc#bookmark:adm:TI000000469

7. Для чего можно/нужно сочетать СертификатКлиентаWindows и СертификатыУдостоверяющихЦентровФайл, как в примере 2?
1 Garikk
 
11.08.15
14:22
могу сказать что pem файл лежит в папке bin одинесины
и в 8.3 он тоже используется
2 Garikk
 
11.08.15
14:23
его надо не конвертить, а дописывать в него отпечаток сертификата, ручками
3 vi0
 
11.08.15
14:28
(2) под "конвертить" я подразумевал "я получил pem файл конвертацией файла crt, который был создан апачем при создании самоподписанного сертификата"
4 Garikk
 
11.08.15
14:33
(3) я понимаю, но это не то, в cacert.pem уже прописаны корневые сертификаты, свой надо к ним добавить
5 Garikk
 
11.08.15
14:34
<СертификатКлиентаWindows - если выбираем Авто то Windows сама найдет нужный сертификат? Интересно как она это делает? >

Сертификат должен быть подписан корневым сертификатом находящимся в хранилище винды. если его там нет, его надо туда добавить (и указать напрямую что он корневой)
6 vi0
 
11.08.15
15:27
(5) твой комментарий применим к самоподписанным сертификатам?
7 vi0
 
12.08.15
12:46
подниму
8 vi0
 
12.08.15
13:38
(1) почему ты считаешь, что в 8.3 тоже нужно использовать файл CACERT.PEM ?
9 Garikk
 
12.08.15
13:42
(8) я не про "нужно", а про то что в 8.3 он тоже используется.

У нас в конторе прокси меняли, приходилось в него наш внутренний сертификат пихать чтобы ssl работал
10 vi0
 
12.08.15
14:07
8.3.6.2100
я создал веб-сервис в 1с
настроил веб-сервере IIS сертификацию SSL по этой статье http://habrahabr.ru/post/96827
обратился к этому веб-сервису из 1с, создав Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл("C:\iis\client.pfx"));

этого оказалось достаточно, все работает

другие вопросы в силе, хотелось бы разобраться
Программист всегда исправляет последнюю ошибку.