Remote Control Broker Certificate
Remote Control does not create a certificate for the broker during the installation. Follow the instructions in this section to create and set up the broker certificate.
A separate certificate is required for each broker that is added to the Remote Control infrastructure. This certificate needs to be trusted by the components that can connect to the broker, that is other brokers, controllers and targets. These certificates can be self-signed or part of a chain coming from a valid internal or external Certificate Authority (CA). The signing certificates are held in a trust store on the Remote Control server and are used to verify the broker certificates at connection time.
- PKCS#12
- The modern industry-standard for keystores. This is supported by both keytool and OpenSSL.
- PEM
- PEM files can be generated with the OpenSSL command line tool or other third
party tools. The OpenSSL command-line tool is not shipped with Remote Control.The PEM file needs to contain the following items, in the order listed below.
- Broker's certificate
- Any intermediate certificates, if required
- Root certificate
- Broker's private key
Once all certificates are uploaded to the Remote Control server the same list of certificates will be cached in the broker.certs file on each broker. To force the update of this file you can restart the broker service once.
- On Windows:
- "C:\Program Files (x86)\BigFix\Remote Control\Target\openssl.exe" s_client -connect “my.broker.host.org:443” -CAfile "C:\ProgramData\BigFix\Remote Control\TrustStore\broker.certs"
- On Linux:
- LD_LIBRARY_PATH=/opt/bigfix/trc/broker /opt/bigfix/trc/broker/openssl s_client -connect "my.broker.host.org:443" -CAfile /var/opt/bigfix/trc/broker/broker.certs
Broker to Broker communication
When multiple brokers are installed, in a Broker-to-Broker (B2B) infrastructure, secure communication relies heavily on Mutual TLS (mTLS). When a broker initiates a connection to another broker, it acts as a client. If the digital certificate assigned to the initiating broker lacks the Client Authentication Extended Key Usage (EKU) attribute, the receiving broker may reject the handshake.
- First certificate with Server Authentication (1.3.6.1.5.5.7.3.1)
- To allow the broker to prove its identity when receiving connections from clients (the clients will receive and use this certificate while validating the connection with the remote broker as expected in a normal TLS session).
- Second certificate with Client Authentication (1.3.6.1.5.5.7.3.2)
- To allow the broker to prove its identity when initiating connections to a peer broker (the broker which acts as server requires the client broker to provide its own certificate to authenticate itself as expected in a mTLS session).
DefaultTLSCertificateFile = cert_with_server_auth.p12
DefaultTLSCertificatePassphrase=xxxxxx
inbound.ConnectionType = Inbound
inbound.PortToListen = 443
inbound.AllowEndpoints = yes
inbound.AllowBrokers = my.broker3.com
broker.ConnectionType = Broker
broker.DestinationAddress = my.broker2.com
broker.DestinationPort = 8443
broker.TLSCertificateFile = cert_with_client_auth.p12
broker.TLSCertificatePassphrase = xxxx
https.ConnectionType = InboundHTTPS
https.PortToListen = 443- On Windows
"C:\Program Files (x86)\BigFix\Remote Control\Target\openssl.exe" s_client -connect “my.broker.host.org:443” -cert cert_with_client_auth.p12 -CAfile "C:\ProgramData\BigFix\Remote Control\TrustStore\broker.certs"- On Linux
LD_LIBRARY_PATH=/opt/bigfix/trc/broker /opt/bigfix/trc/broker/openssl s_client -connect "my.broker.host.org:443" -cert cert_with_client_auth.p12 -CAfile /var/opt/bigfix/trc/broker/broker.certs