Configuración de Seguridad de la capa de transporte (TLS) para una aplicación cliente de Service Bus

Por motivos de seguridad, las cuentas de Azure Service Bus pueden exigir a los clientes que usen una versión mínima de Seguridad de la capa de transporte (TLS) para enviar solicitudes. Si el cliente usa una versión de TLS inferior a la versión mínima necesaria, se producirá un error en las llamadas a Azure Service Bus. Por ejemplo, si una espacio de nombres requiere TLS 1.2, las solicitudes enviadas por un cliente que use TLS 1.1 generarán un error.

En este artículo se describe cómo configurar una aplicación cliente para usar una versión determinada de TLS. Para obtener información sobre cómo configurar una versión mínima necesaria de TLS para un espacio de nombres de Azure Service Bus, consulte Aplicación de una versión mínima necesaria de Seguridad de la capa de transporte (TLS) para las solicitudes a un espacio de nombres de Service Bus.

Configuración de la versión de TLS del cliente

Para que un cliente envíe una solicitud con una versión determinada de TLS, el sistema operativo debe ser compatible con esa versión.

En el siguiente ejemplo se muestra cómo establecer la versión de TLS del cliente en la 1.2 desde .NET. La versión de .NET Framework que utiliza el cliente debe admitir TLS 1.2. Para más información, consulte Compatibilidad con TLS 1.2.

En el ejemplo siguiente se muestra cómo habilitar TLS 1.2 en un cliente .NET con la biblioteca cliente Azure.Messaging.ServiceBus de 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")));
}

Comprobación de la versión de TLS utilizada por un cliente

Para comprobar que el cliente usó la versión especificada de TLS para enviar una solicitud, puede usar Fiddler o una herramienta similar. Abra Fiddler para empezar a capturar el tráfico de red del cliente y, luego, ejecute uno de los ejemplos de la sección anterior. Examine el seguimiento de Fiddler para confirmar que se usó la versión correcta de TLS para enviar la solicitud.

Pasos siguientes

Para más información, consulte la siguiente documentación.