Konfigurowanie protokołu Transport Layer Security (TLS) dla aplikacji klienckiej usługi Event Hubs

Ze względów bezpieczeństwa przestrzeń nazw Azure Event Hubs może wymagać od klientów minimalnej wersji protokołu Transport Layer Security (TLS) do wysyłania żądań. Wywołania Azure Event Hubs zakończy się niepowodzeniem, jeśli klient korzysta z wersji protokołu TLS niższej niż minimalna wymagana wersja. Jeśli na przykład przestrzeń nazw wymaga protokołu TLS 1.2, żądanie wysłane przez klienta korzystającego z protokołu TLS 1.1 zakończy się niepowodzeniem.

W tym artykule opisano sposób konfigurowania aplikacji klienckiej do używania określonej wersji protokołu TLS. Aby uzyskać informacje na temat konfigurowania minimalnej wymaganej wersji protokołu TLS dla przestrzeni nazw Azure Event Hubs, zobacz Wymuszanie minimalnej wymaganej wersji protokołu Transport Layer Security (TLS) dla żądań do przestrzeni nazw usługi Event Hubs.

Konfigurowanie wersji protokołu TLS klienta

Aby klient wysyłał żądanie z określoną wersją protokołu TLS, system operacyjny musi obsługiwać daną wersję.

W poniższym przykładzie pokazano, jak ustawić wersję protokołu TLS klienta na 1.2 z platformy .NET. .NET Framework używany przez klienta musi obsługiwać protokół TLS 1.2. Aby uzyskać więcej informacji, zobacz Obsługa protokołu TLS 1.2.

Poniższy przykład pokazuje, jak włączyć protokół TLS 1.2 w kliencie platformy .NET przy użyciu biblioteki klienta Azure.Messaging.ServiceBus usługi Event Hubs:

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

Weryfikowanie wersji protokołu TLS używanej przez klienta

Aby sprawdzić, czy określona wersja protokołu TLS została użyta przez klienta do wysłania żądania, możesz użyć programu Fiddler lub podobnego narzędzia. Otwórz program Fiddler, aby rozpocząć przechwytywanie ruchu sieciowego klienta, a następnie wykonaj jeden z przykładów w poprzedniej sekcji. Przyjrzyj się śladowi programu Fiddler, aby potwierdzić, że do wysłania żądania użyto poprawnej wersji protokołu TLS.

Następne kroki

Aby uzyskać więcej informacji, zobacz następującą dokumentację.