Connect to a broker with TLS
With file certificate
Private Sub Connect_WithFileCertificate() On Error GoTo errExit Dim connOption As MQTTConnectOption Dim retCode As MqttConnectionCode Set mFactory = Application.CreateMQTT Set mClient = mFactory.CreateClient Set connOption = mFactory.CreateConnectOption() connOption.ClientID = "Client01" connOption.Version = MqttVersion500 connOption.WithWebSocketServer "broker.com", 8084, "mqtt" 'can also use TCP connOption.UseCertificate = CertificateFile connOption.UseTls = True connOption.AllowUntrustedCertificates = True connOption.TlsProtocols = TlsProtocol12 'Tls can also be configured directly with the function: 'connOption.WithTls True, TlsProtocol12, True 'If you use CA-signed certificate, you only need to specify CAfile; you don't need to specify ClientFile and Password. connOption.FileCertificate.CAfile = "C:\Users\Administrator\Desktop\CA\rootCA.crt" connOption.FileCertificate.ClientFile = "C:\Users\Administrator\Desktop\CA\client.pfx" connOption.FileCertificate.Password = "password" 'File certificate can also be configured directly with the function: 'connOption.WithFileCertificate "C:\Users\Administrator\Desktop\CA\rootCA.crt", "C:\Users\Administrator\Desktop\CA\client.pfx", "password" retCode = mClient.Connect(connOption) Exit Sub errExit: MsgBox Err.Description End Sub
With store certificate
Private Sub Connect_WithStoreCertificate() On Error GoTo errExit Dim connOption As MQTTConnectOption Dim retCode As MqttConnectionCode Set connOption = mFactory.CreateConnectOption() connOption.ClientID = "Client01" connOption.Version = MqttVersion500 connOption.WithTcpServer "broker.com", 8883 connOption.WithTls True, TlsProtocol12, False connOption.UseCertificate = CertificateStore connOption.StoreCertificate.Location = StoreLocation_LocalMachine connOption.StoreCertificate.Thumbprint = "3b9bdaf85375752c2******88744f7922d841e0c" 'Store certificate can also be configured directly with the function: 'connOption.WithStoreCertificate StoreLocation_LocalMachine, "3b9bdaf85375752c2******88744f7922d841e0c" retCode = mClient.Connect(connOption) Exit Sub errExit: MsgBox Err.Description End Sub
Provide Feedback