Secure-HTTP (используются сокращения S-HTTP и SHTTP) текущая версия 1.2 — протокол, разработанный для обеспечения безопасности сообщений при использовании протокола HTTP и облегченной интеграции с приложениями, ориентированными на HTTP. В качестве ссылки на документацию протокола указывают рабочий документ IETF — draft-ietf-wts-shttp-02. Сохраняя все характеристики HTTP, протокол позволяет производить аутентификацию, шифрование, электронно-цифровую подпись сообщений в любой комбинации. При этом протокол поддерживает как криптографическую схему с открытыми ключами, так и симметричную схему шифрования. Протокол поддерживает гибкое определение алгоритмов шифрования с помощью возможности, называемой переговоры о параметрах (англ, option negotiation). В ней определяются три составляющих протокола.
- Транзакционный модуль — т. е. будет ли запрос и/или ответ зашифрован и/или подписан.
- Криптографические алгоритмы — что будет использовано для шифрования (в документе указаны DES и RC2), электронно-цифровой подписи (указаны RSA и DSA).
- Выбор сертификата — какой из цифровых сертификатов использовать. Следует учесть, что как протокол прикладного уровня он защищает htmi-документы, но оставляет открытой информацию нижележащих уровней. Это, по-видимому, одна из причин, по которой на практике S-HTTP используется не очень широко, гораздо реже, чем протоколы безопасности транспортного уровня. Поэтому слегка коснемся особенностей его реализации.