You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-3Lines changed: 10 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -110,13 +110,19 @@ In addition, there is another converter for the Avro format that is part of the
110
110
111
111
112
112
## Security
113
-
The connector supports authentication with user name and password and also connections secured with TLS using a server-side certificate. It does not currently support TLS mutual authentication with client-side certificates.
113
+
The connector supports authentication with user name and password and also connections secured with TLS using a server-side certificate and mutual authentication with client-side certificates.
114
114
115
115
### Setting up TLS using a server-side certificate
116
116
To enable use of TLS, set the configuration 'mq.ssl.cipher.suite' to the name of the cipher suite which matches the CipherSpec in the SSLCIPH attribute of the MQ server-connection channel. Use the table of supported cipher suites for MQ 9.0.x [here](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q113220_.htm) as a reference. Note that the names of the CipherSpecs as used in the MQ configuration are not necessarily the same as the cipher suite names that the connector uses. The connector uses the JMS interface so it follows the Java conventions.
117
117
118
118
You will need to put the public part of the queue manager's certificate in the JSSE truststore used by the Kafka Connect worker that you're using to run the connector. If you need to specify extra arguments to the worker's JVM, you can use the EXTRA_ARGS environment variable.
119
119
120
+
### Setting up TLS for mutual authentication
121
+
You will need to put the public part of the client's certificate in the queue manager's key repository. You will also need to configure the worker's JVM with the location and password for the keystore containing the client's certificate.
122
+
123
+
### Troubleshooting
124
+
For troubleshooting, or to better understand the handshake performed by the IBM MQ Java client application in combination with your specific JSSE provider, you can enable debugging by setting `javax.net.debug=ssl` in the JVM environment.
125
+
120
126
121
127
## Configuration
122
128
The configuration options for the MQ Source Connector are as follows:
@@ -130,18 +136,19 @@ The configuration options for the MQ Source Connector are as follows:
130
136
| mq.user.name | The user name for authenticating with the queue manager | string || User name |
131
137
| mq.password | The password for authenticating with the queue manager | string || Password |
132
138
| mq.message.body.jms | Whether to interpret the message body as a JMS message type | boolean | false ||
133
-
| mq.ssl.cipher.suite | The name of the cipher suite for TLS connection | string || Blank or valid cipher suite |
139
+
| mq.ssl.cipher.suite | The name of the cipher suite for TLS (SSL) connection | string || Blank or valid cipher suite |
140
+
| mq.ssl.peer.name | The distinguished name pattern of the TLS (SSL) peer | string || Blank or DN pattern |
134
141
| topic | The name of the target Kafka topic | string || Topic name |
135
142
136
143
137
144
## Future enhancements
138
145
The connector is intentionally basic. The idea is to enhance it over time with additional features to make it more capable. Some possible future enhancements are:
139
-
* TLS mutual authentication
140
146
* Message key support
141
147
* Configurable schema for MQ messages
142
148
* JMX metrics
143
149
* JSON parsing so that the JSON type information is supplied to the converter
144
150
* Testing with the Confluent Platform Avro converter and Schema Registry
151
+
* Separate TLS configuration for the connector so that keystore location and so on can be specified as configurations
0 commit comments