Поделиться через


Настройка протокола TLS для клиентского приложения служебной шины

В целях безопасности пространство имен служебной шины Azure может потребовать, чтобы клиенты использовали для отправки запросов минимальную версию протокола TLS. Вызовы служебной шины Azure завершатся ошибкой, если клиент использует версию TLS ниже минимальной требуемой версии. Например, если пространство имен службы требует использовать TLS 1.2, то запрос, отправленный клиентом, который использует версию TLS 1.1, завершится ошибкой.

В этой статье описывается, как настроить клиентское приложение для использования определенной версии TLS. Сведения о настройке минимальной требуемой версии TLS для пространства имен служебной шины Azure см. в разделе Принудительное применение минимальной требуемой версии протокола TLS для запросов к пространству имен служебной шины.

Настройка версии TLS на клиенте

Чтобы клиент мог отправить запрос, используя определенную версию протокола TLS, операционная система должна поддерживать эту версию.

В следующем примере показано, как задать для клиента версию TLS 1.2 из .NET. Платформа .NET Framework, используемая клиентом, должна поддерживать TLS 1.2. Подробнее см. на странице Поддержка TLS 1.2.

В следующем примере показано, как включить TLS 1.2 в клиенте .NET с помощью клиентской библиотеки Azure.Messaging.ServiceBus служебной шины.

{
    // Enable TLS 1.2 before connecting to Service Bus
    HttpClientHandler handler = new HttpClientHandler();
    handler.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
    HttpClient httpClient = new HttpClient(handler);
    
    // Connection string to your Service Bus namespace
    string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // Name of your Service Bus queue
    string queueName = "<QUEUE NAME>";

    // The client that owns the connection and can be used to create senders and receivers
    static ServiceBusClient client = new ServiceBusClient(connectionString);
    
    // The sender used to publish messages to the queue
    ServiceBusSender sender = client.CreateSender(queueName);
    
    // Use the producer client to send a message to the Service Bus queue
    await sender.SendMessagesAsync(new ServiceBusMessage($"Message for TLS check")));
}

Проверка версии TLS, используемой клиентом

Чтобы убедиться, что клиент использовал для отправки запроса указанную версию протокола TLS, можно использовать Fiddler или аналогичное средство. Откройте Fiddler, чтобы начать запись сетевого трафика клиента, а затем выполните один из примеров из предыдущего раздела. Просмотрите трассировку Fiddler и убедитесь, что для отправки запроса использовалась правильная версия протокола TLS.

Дальнейшие действия

Дополнительные сведения см. в следующей документации: