簡體   English   中英

不使用TLS加密將AMQP遙測發送到Azure事件中心

[英]Sending AMQP Telemetry to Azure Event Hub not using TLS encryption

是否可以不使用TLS加密將AMQP數據包/遙測發送到Azure事件中心?

我要這樣做的原因是要確切地看到未加密的AMQP數據包的外觀。

我已經嘗試了以下代碼(請參閱amqpTransSetting.UseSslStreamSecurity = false ,但它仍對通信進行加密。

        var amqpTransSetting = new AmqpTransportSettings();
        amqpTransSetting.UseSslStreamSecurity = false;

        var cs = @"Endpoint=sb://companyname-ns.servicebus.windows.net/;SharedAccessKeyName=EventHubPublisher;SharedAccessKey=84EHa5NNllnZBzH5ksogvNfhMWtIokdTdjxXXXXXXX=";

        var builder = new ServiceBusConnectionStringBuilder(cs)
                    {
                        TransportType = TransportType.Amqp,
                    };

        var client = EventHubClient.CreateFromConnectionString(builder.ToString(), "companyname-eh");

        int sentCount = sendCount;
        string infoText;

        for (int i = 0; i < sendCount; i++)
        {
            try
            {
                if (MessageType.Text == "Fake Sensor")
                {
                    infoText = "Sent using AMQP protocol";
                }
                else
                {
                    infoText = "Sent using AMQP protocol";
                }

                Random rnd = new Random();
                int intTemp = rnd.Next(15, 25);
                int intHum = rnd.Next(50, 80);

                var e = new Event
                {
                    MessageType = MessageType.Text,
                    Temp = intTemp,
                    Humidity = intHum,
                    Location = Location.Text,
                    Room = Room.Text,
                    Info = infoText
                };

                var serializedString = JsonConvert.SerializeObject(e);
                var data = new EventData(Encoding.UTF8.GetBytes(serializedString))
                {
                    PartitionKey = rnd.Next(6).ToString()
                };

                // Set user properties if needed
                data.Properties.Add("Type", "Telemetry_" + DateTime.Now.ToLongTimeString());



                await client.SendAsync(data).ConfigureAwait(false);
            }
            catch (Exception exp)
            {
                Console.WriteLine("Error on send: " + exp.Message);
                sentCount--;
            }

必須使用SSL / TLS連接才能訪問服務總線中的所有實體(隊列,主題/訂閱和事件中心)。 沒有它,您將無法連接。

保羅。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM