Използване на SSL при работа с уеб услуги

SSL (Secure Socket Layer) е протокол, използван за осигуряване на сигурна комуникация между клиент и сървър. SSL базиран:

  • включено в заимстваното удостоверяване на клиента и сървъра, така че и клиентът, и сървърът да са сигурни, че са тези, които казват, че са;
  • цифрови подписи за осигуряване на целостта на данните (защита на данните от неразрешени промени);

SSL - протоколът поддържа различни опции за шифри, цифрови подписи, сертификати и др., За да осигури най-адекватно защитен канал с необходимата сила.

SSL - протоколът използва SSL - сесия за установяване на сигурна връзка между клиент и сървър. Сесията се установява чрез обмен на поредица от съобщения между клиента и сървъра. Когато настройвате сесия, действия като:

  • задаване на алгоритми за криптиране, които ще се използват за криптиране и цифрово подписване на предадените данни;
  • инсталиране на сесиен ключ;
  • удостоверяване от сървър към клиент;
  • клиентско удостоверяване на сървъра.

SSL - сесията може да се използва повторно между клиент и сървър.

SSL използва сертификати за извършване на удостоверяване на клиента на сървъра и сървъра на клиента. Сертификатът е документ, който описва набор от параметри за това кой се удостоверява. Например сертификатът може да съдържа потребителското име или името на уебсайта на сървъра. Сертификатът също е с цифров подпис, с който се проверява валидността му. За да се предотврати възможността за неконтролирано издаване на сертификати, се използват вериги от сертификати. Началото на веригата от сертификати е Сертификационният център, организация, която издава сертификати. Ако определен потребител се нуждае от сертификат, той изпраща заявка до сертифициращия орган за издаване на сертификат. Сертифициращият орган издава готов сертификат, като подписва заявката със собствен частен ключ. Потребителят, на когото е издаден сертификатът, от своя страна може да действа като Сертифициращ орган за други потребители. Тоест, формира се верига от сертификати, чийто корен е коренният сертифициращ орган, като правило, добре позната организация. За да може клиентът да приеме този сертификат, той трябва да е в списъка със сертификати, на които този клиент се доверява. Списъкът може да съдържа както самия сертификат, така и всеки сертификат от веригата на сертификати на този сертификат. Обикновено това е основният сертификат на CA.

Механизмът за уеб услуги 1C: Enterprise позволява както използването, така и внедряването на https уеб услуги.

Клиентската част на механизма за уеб услуги автоматично определя, съгласно URL-схемата (https) на местоположението на уеб услугата, че взаимодействието с такава уеб услуга трябва да се осъществява чрез защитен комуникационен канал. Клиентската част изисква също така валиден сертификат, издаден от Сертифициращ орган, познат на клиента, да бъде свързан със сървъра.

Сертификатът на сървъра е валиден, ако неговият цифров подпис съвпада със съдържанието на сертификата, датата му на валидност не е изтекла и уебсайтът, за който е издаден сертификатът, съвпада с уебсайта на сървъра. Ако сертификатът не е валиден, например уебсайтът на сертификата не съвпада с уебсайта на сървъра, тогава клиентът няма да може да комуникира чрез SSL с уеб услугите на този уебсайт.

За да може сертификатът на сървъра да бъде приет от клиента, трябва да го поставите или сертификата на Сертифициращия орган, издал този сертификат на сървъра във файла кацерт . пем, който е в директорията кошче „1С: Предприятие“. Този файл изброява всички сертификати, на които се доверява този клиент. Файлът е във формат PEM (Подобрена поверителност) - текстов формат, в който сертификатите са кодирани в основни 64 последователности.

Уеб услугите https се разработват по същия начин като обикновените уеб услуги HTTP, но изискват допълнителна конфигурация на уеб сървъра. За IIS уеб сървър конфигурацията се състои в обвързване на сертификата на сървъра с уебсайта и настройка на виртуалната директория на уеб услугата. Сертификатът на сървъра може да бъде получен от Сертифициращия орган, който може да бъде всеки Windows Server 2003 с инсталирана услуга за сертифициране. След като сертификатът е свързан с уебсайта, за виртуалната директория на уеб услугата трябва да посочите, че той е достъпен чрез защитен комуникационен канал (вижте документацията на IIS).

За уеб сървъра на Apache трябва също да посочите сертификата на сървъра и знака за работа по защитен канал. Сертификатът може да бъде получен с помощта на помощната програма openssl (вижте документацията за мод _ ssl ).