Konfigurieren von TLS (Transport Layer Security) für eine Service Bus-Clientanwendung
Aus Sicherheitsgründen ist es für einen Azure Service Bus-Namespace möglicherweise erforderlich, dass Clients eine Mindestversion von Transport Layer Security (TLS) zum Senden von Anforderungen verwenden. Aufrufe an Azure Service Bus schlagen fehl, wenn der Client eine TLS-Version verwendet, die niedriger als die erforderliche Mindestversion ist. Wenn für einen Namespace zum Beispiel TLS 1.2 erforderlich ist, schlägt eine Anforderung fehl, die von einem Client gesendet wird, der TLS 1.1 verwendet.
In diesem Artikel wird beschrieben, wie Sie eine Clientanwendung für die Verwendung einer bestimmten TLS-Version konfigurieren. Informationen zum Konfigurieren einer mindestens erforderlichen TLS-Version für einen Azure Service Bus-Namespace finden Sie unter Erzwingen einer mindestens erforderlichen Version von Transport Layer Security (TLS) für Anforderungen an einen Service Bus-Namespace.
Konfigurieren der TLS-Clientversion
Damit ein Client eine Anforderung mit einer bestimmten TLS-Version senden kann, muss das Betriebssystem diese Version unterstützen.
In den folgenden Beispielen wird gezeigt, wie die TLS-Version des Clients von .NET auf 1.2 festgelegt wird. Die vom Client verwendete .NET Framework-Instanz muss TLS 1.2 unterstützen. Weitere Informationen finden Sie unter Unterstützung für TLS 1.2.
Das folgende Beispiel zeigt, wie TLS 1.2 in einem .NET-Client unter Verwendung der Azure.Messaging.ServiceBus-Client-Bibliothek von Service Bus aktiviert wird:
{
// 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")));
}
Überprüfen der von einem Client verwendeten TLS-Version
Wenn Sie überprüfen möchten, ob die angegebene TLS-Version vom Client verwendet wurde, um eine Anforderung zu senden, können Sie Fiddler oder ein ähnliches Tool verwenden. Öffnen Sie Fiddler, um den Netzwerkdatenverkehr auf dem Client zu erfassen, und führen Sie dann eines der Beispiele im vorherigen Abschnitt aus. Sehen Sie sich die Fiddler-Ablaufverfolgung an, um zu bestätigen, dass die richtige TLS-Version zum Senden der Anforderung verwendet wurde.
Nächste Schritte
Weitere Informationen finden Sie in der folgenden Dokumentation.
- Erzwingen der erforderlichen TLS-Mindestversion (Transport Layer Security) für Anforderungen an einen Service Bus-Namespace
- Konfigurieren der TLS-Mindestversion für einen Service Bus-Namespace
- Verwenden von Azure Policy zum Überwachen der Einhaltung der TLS-Mindestversion für einen Service Bus-Namespace