Hi – I’m trying to create a jmeter test plan to make an mqtt call to AWS Iot 
Core on port 443.

Background:

Jmeter has excellent facilities for support of the TLS extension ALPN ( to 
support protocol negotiations like HTTP ).  There are many examples on blog 
sites for configuring jmeter TLS negotiations with ALPN extensions (for example 
like http 2.0 protocol. ). Yet, there is very little on mqtt using TLS with 
ALPN extensions.  I have a requirement to send the ALPN extension value as MQTT 
(along with SNI extension ) to establish a connection with AWS IoT Core ( see 
https://docs.aws.amazon.com/iot/latest/developerguide/custom-auth.html#custom-auth-mqtt
 .)

I have chosen the jetty 11.0.12 framework for ALPN support 
(https://xy2401.com/local-docs/java/jetty.9.4.24.v20191120/alpn-chapter.html#alpn-openjdk8
 .)  I’m using openjdk 1.8.0_302 with jmeter 5.5.  I copied the following 
libraries to ../lib/ext of the jmeter installation home:

jetty-alpn-client-11.0.12.jar
jetty-http-11.0.12.jar
jetty-util-11.0.12.jar
jetty-client-11.0.12.jar
jetty-io-11.0.12.jar

Amazon Web Service for IoT Core requires that I set the ALPLN value to “mqtt” 
and SNI as the host of the IoT core endpoint when I make a connect request on 
port 443 (https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html) 
.

I don’t see anywhere in the “MQTT Connect” sampler to set this as a key and 
value (within the GUI) and was wondering if this is even a possibility.  I’m 
still researching if this can be set by invoking jmeter via CLI.

Any guidance or insight would be greatly appreciated ( especially if what I’m 
trying to do is not yet possible for mqtt protocol.)

Thank you very much.

Reply via email to