Konfigurieren von TLS (Transport Layer Security) für eine Event Hubs-Clientanwendung

Aus Sicherheitsgründen ist es für einen Azure Event Hubs-Namespace möglicherweise erforderlich, dass Clients eine Mindestversion von Transport Layer Security (TLS) zum Senden von Anforderungen verwenden. Aufrufe an Azure Event Hubs 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 Event Hubs Namespace finden Sie unter Erzwingen einer mindestens erforderlichen Version von Transport Layer Security (TLS) für Anforderungen an einen Event Hubs-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 Event Hubs aktiviert wird:

{
    // 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.");
    }
}

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