Простого способа нет. Единственная ее реалзиация - это так как сделано в squid. И главное - чтобы у клиента (инициатора соединения) стоял в доверенных сертификат СA, который выпустит сертификат для сервера-перехватчика.
Очень упрощенная обычная сессия:
Клиент: Привет, я Вася Писькин, умею так и так шифровать
Сервер: Привет, я vk.com, умею так и так шифровать
Клиент: ОК, согласен на ..., мой сертификат
Сервер: Мой сертификат
(далее проверка на клиенте того, что это на самом деле сертификат vk.com, проверка валидности сертификата, генерация сеансового ключа)
[зашифрованный сеанс]
Сессия через mitm (squid в данном случае):
Клиент: Привет, я Вася Писькин, умею так и так шифровать
Прокси: Привет, я vk.com, умею так и так шифровать
Клиент: ОК, согласен на ..., мой сертификат
(прокси быстренько генерит сертификат на себя на имя vk.com)
Прокси: Мой сертификат
(далее проверка на клиенте того, что это на самом деле сертификат vk.com, проверка валидности сертификата, генерация сеансового ключа. Заполучив сеансовый ключ, прокси обращается к настоящему vk.com, устанавливает с ним соединение и ведет обмен между Васей и vk.com как если бы его не было. Но поскольку ему доступен сеансовый ключ - он находится внутри соединения и может его мониторить и разорвать при необходимости.
Возникает конечно вопрос - почему Вася верит такому явному фейку, как сертификат от CA "Большой Брат", прикидывающийся vk.com? А все дело в шляпе том, что сертификат CA, выпустившего сертификат для прокси, ДОЛЖЕН находиться у Васи в доверенных - если этого нет, браузер Васи в ответ на сертификат прокси скажет "Ты кто такой? Давай, до свидания")