Configurar protocolo TLS para um aplicativo cliente dos Hubs de Eventos

Para fins de segurança, um namespace dos Hubs de Eventos do Azure pode exigir que os clientes usem uma versão mínima do protocolo TLS para enviar solicitações. As chamadas para os Hubs de Eventos do Azure vão falhar se o cliente estiver usando uma versão do TLS inferior à versão mínima necessária. Por exemplo, se um namespace exige o TLS 1.2, uma solicitação enviada por um cliente que está usando o TLS 1.1 vai falhar.

Este artigo descreve como configurar um aplicativo cliente para usar uma versão específica do TLS. Para obter informações sobre como configurar uma versão mínima necessária do TLS para um namespace dos Hubs de Eventos do Azure, confira Impor uma versão mínima necessária do TLS para solicitações para um namespace dos Hubs de Eventos.

Configurar a versão do TLS do cliente

Para que um cliente envie uma solicitação com uma versão específica do TLS, o sistema operacional deve dar suporte a essa versão.

Os exemplos a seguir mostram como definir a versão do TLS do cliente como a versão 1.2 do .NET. O .NET Framework usado pelo cliente deve dar suporte ao TLS 1.2. Para obter mais informações, consulte o Suporte para TLS 1.2.

O seguinte exemplo mostra como habilitar o TLS 1.2 em um cliente .NET usando a biblioteca de clientes dos Hubs de Eventos Azure.Messaging.ServiceBus:

{
    // Enable TLS 1.2 before connecting to Event Hubs
    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

    // Connection string to your Event Hubs namespace
    string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // Name of your Event Hub
    string eventHubName = "<EVENT HUB NAME>";
    
    // The sender used to publish messages to the queue
    var producer = new EventHubProducerClient(connectionString, eventHubName);
    
    // Use the producer client to send a message to the Event Hubs queue
    using EventDataBatch eventBatch = await producer.CreateBatchAsync();
    var eventData = new EventData("This is an event body");

    if (!eventBatch.TryAdd(eventData))
    {
        throw new Exception($"The event could not be added.");
    }
}

Verificar a versão do TLS usada por um cliente

Para verificar se a versão específica do TLS foi usada pelo cliente para enviar uma solicitação, você pode usar o Fiddler ou uma ferramenta semelhante. Abra o Fiddler para iniciar a captura do tráfego de rede do cliente e execute um dos exemplos da seção anterior. Examine o rastreamento Fiddler para confirmar se a versão correta do TLS foi usada para enviar a solicitação.

Próximas etapas

Para saber mais, confira a seguinte documentação.