Partilhar via


Configurar o Transport Layer Security (TLS) para uma aplicação cliente do Service Bus

Para fins de segurança, um espaço de nomes Azure Service Bus pode exigir que os clientes utilizem uma versão mínima do Transport Layer Security (TLS) para enviar pedidos. As chamadas para Azure Service Bus 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 Azure Service Bus, veja Impor uma versão mínima necessária do Transport Layer Security (TLS) para pedidos para um espaço de nomes do Service Bus.

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 do 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, consulte Suporte para O TLS 1.2.

O exemplo seguinte mostra como ativar o TLS 1.2 num cliente .NET com a biblioteca de cliente Azure.Messaging.ServiceBus do Service Bus:

{
    // Enable TLS 1.2 before connecting to Service Bus
    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
    
    // 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")));
}

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. Observe 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.