Partilhar via


Configurar o Transport Layer Security (TLS) para uma aplicação cliente dos Hubs de Eventos

Para fins de segurança, um espaço de nomes Hubs de Eventos do Azure pode exigir que os clientes utilizem uma versão mínima do Transport Layer Security (TLS) para enviar pedidos. As chamadas para Hubs de Eventos do Azure falharão se o cliente estiver a utilizar uma versão do TLS inferior à versão mínima necessária. Por exemplo, se um espaço de nomes necessitar de TLS 1.2, um pedido enviado por um cliente que esteja a utilizar o TLS 1.1 falhará.

Este artigo descreve como configurar uma aplicação cliente para utilizar 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 espaço de nomes Hubs de Eventos do Azure, veja Impor uma versão mínima necessária do Transport Layer Security (TLS) para pedidos para um espaço de nomes dos Hubs de Eventos.

Configurar a versão do TLS do cliente

Para que um cliente envie um pedido com uma versão específica do TLS, o sistema operativo tem de suportar essa versão.

O exemplo seguinte mostra como definir a versão TLS do cliente para 1.2 a partir do .NET. O .NET Framework utilizado pelo cliente tem de suportar o TLS 1.2. Para obter mais informações, veja Suporte para TLS 1.2.

O exemplo seguinte mostra como ativar o TLS 1.2 num cliente .NET com a biblioteca de cliente Azure.Messaging.ServiceBus dos Hubs de Eventos:

{
    // 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 utilizada por um cliente

Para verificar se a versão especificada do TLS foi utilizada pelo cliente para enviar um pedido, pode utilizar o Fiddler ou uma ferramenta semelhante. Abra o Fiddler para começar a capturar o tráfego de rede do cliente e, em seguida, execute um dos exemplos na secção anterior. Veja o rastreio do Fiddler para confirmar que a versão correta do TLS foi utilizada para enviar o pedido.

Passos seguintes

Veja a seguinte documentação para obter mais informações.