﻿Пример создания ssl-туннеля при помощи библиотеки stunnel.
Библиотека stunnel, которая поставляется вместе с примером, является модификацией
http://stunnel.org/ с добавленной поддержкой КриптоПро CSP.

Stunnel может работать навстречу обычному TLS-серверу, или другому экземпляру
stunnel, работающему в серверном режиме. Например, в качестве сервера может 
выступать Microsoft ISA, Microsoft IIS, Apache + TrustedTLS, Apache с openssl на 
ГОСТе или ещё что-нибудь.

Пример осуществляет запуск ssl-туннеля и может запустить примитивный браузер внутри
туннеля. Для работы браузера внутри туннеля необходимо настроить прокси на 
localhost:<№ порта>. Туннель строится от localhost:<№ порта> до TMG, адрес которого
нужно внести в поле “Server URL”. Может быть установлено соединение с односторонней
или двухсторонней аутентификацией. Для двухсторонней аутентификации нужно выбрать
клиентский сертификат.

Браузер можно доработать или заменить на нужное Вам приложение. Также можно 
модифицировать пример таким образом, чтобы он соединялся не с TMG, а непосредственно 
с веб-сервером, к которому нужно получить доступ(например, если Вы строите туннель от
localhost:4444 до server, то при наборе в браузере адреса localhost:4444 вы будете
через туннель работать с server). В этом случае или в случае, если вашему приложению
можно будет задать адрес подключения(как rdp-клиенту), не нужно будет настраивать
прокси – надо будет только задать приложению адрес подключения, совпадающий с точкой
входа в туннель.

То, как осуществляется запуск туннеля,  можно посмотреть в файле 
iStunnelViewController.mm. Ключевые моменты снабжены комментариями. 

Сборка примера осуществляется в соответствии с инструкцией по сборке примеров из 
состава фреймворка.
Единственное дополнительное действие, которое потребуется добавить линковку с библиотекой
libstunnel.a из состава фреймворка.

Пример предоставляется бесплатно.
Авторские права на пример принадлежат ООО КРИПТО-ПРО.