Skip to content

Conversation

@fprezado
Copy link

@fprezado fprezado commented Jul 2, 2025

When compliance or regulatory requirements mandate it, or to strengthen security through mutual authentication and encrypted communication between the Symphony MQTT provider and MQTT brokers, mTLS can be enabled by setting the useTLS configuration property in the Symphony configuration file and specifying the paths to the relevant certificates. For development or testing where certificate verification may not be possible, the insecureSkipVerify option can be set to true (this is not recommended for production use).

TLS/Certificate settings:

  • useTLS: Enable TLS connection (default: false)
  • caCertPath: Path to CA certificate file for server verification
  • clientCertPath: Path to client certificate file for mutual TLS authentication
  • clientKeyPath: Path to client private key file for mutual TLS authentication
  • insecureSkipVerify: Skip TLS certificate verification (default: false, use with caution)

Example configuration for symphony mqtt provider client certificate authentication:
{
"brokerAddress": "ssl://mqtt.example.com:8883",
"clientID": "symphony-client",
"requestTopic": "symphony_request",
"responseTopic": "symphony_response",
"useTLS": "true",
"caCertPath": "/path/to/ca.crt",
"clientCertPath": "/path/to/client.crt",
"clientKeyPath": "/path/to/client.key"
}

@coderdjw
Copy link
Contributor

coderdjw commented Jul 7, 2025

@fprezado, thanks for contribution. Besides the implementations, I noticed there's no tests covering the new changes, this may be hard for us the maintain and prevent regressions. Can you fill in the test gaps?

@fprezado
Copy link
Author

fprezado commented Jul 9, 2025

@fprezado, thanks for contribution. Besides the implementations, I noticed there's no tests covering the new changes, this may be hard for us the maintain and prevent regressions. Can you fill in the test gaps?

Thanks for the review @msftcoderdjw . sure thing. let me add tests and come back to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants