Назад | Перейти на главную страницу

Использование HTTPS с BITS (фоновая интеллектуальная служба передачи)

Я пишу клиентское приложение, которому необходимо отправить файл через BITS на мой сервер. У меня все работает по большей части, но я не могу заставить соединение BITS безопасно работать с HTTPS.

Прямо сейчас я использую базовую аутентификацию через HTTP, поэтому логин отправляется открытым текстом - что не оптимально :-) Я хотел бы иметь возможность использовать HTTPS, но не знаю, как это сделать. Согласно этой ветке групп Google, BITS «не поддерживает аутентификацию с использованием сертификатов» (хотя этому комментарию уже несколько лет). Означает ли это, что SSL отсутствует? Как еще я могу защитить соединение для BITS через HTTPS?

Мой сервер работает под управлением IIS 6.0 на Windows Server 2003. Любая помощь будет принята с благодарностью!

(Первоначально я разместил это в Stack Overflow, но подумал, что попробую и здесь - похоже, подпадает под оба домена)

Из MSDN

Использование сертификатов для аутентификации клиент / сервер

При безопасном взаимодействии клиент / сервер клиенты и серверы могут использовать цифровые сертификаты для взаимной аутентификации друг друга. BITS автоматически поддерживает аутентификацию сервера на основе сертификатов для безопасного транспорта HTTP. Чтобы предоставить BITS сертификат клиента, необходимый для взаимной аутентификации, вызовите либо

IBackgroundCopyJobHttpOptions::SetClientCertificateByID

или

IBackgroundCopyJobHttpOptions::SetClientCertificateByName

метод.

Когда веб-сайт принимает сертификат клиента SSL, но не требует его, а задание BITS не указывает сертификат клиента, задание завершится ошибкой с ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED (0x80072f0c).