|
17 | 17 |
|
18 | 18 | import io.netty.handler.codec.mqtt.MqttQoS; |
19 | 19 | import io.netty.handler.codec.mqtt.MqttVersion; |
| 20 | +import io.netty.handler.ssl.SslContext; |
| 21 | +import io.netty.handler.ssl.SslContextBuilder; |
| 22 | +import iot.technology.client.toolkit.common.constants.CertTypeEnum; |
20 | 23 | import iot.technology.client.toolkit.common.constants.ConfirmCodeEnum; |
21 | 24 | import iot.technology.client.toolkit.common.constants.MqttVersionEnum; |
22 | 25 | import iot.technology.client.toolkit.common.utils.JsonUtils; |
| 26 | +import iot.technology.client.toolkit.common.utils.StringUtils; |
23 | 27 | import iot.technology.client.toolkit.mqtt.config.MqttSettings; |
24 | 28 | import iot.technology.client.toolkit.mqtt.config.MqttSettingsInfo; |
25 | 29 | import iot.technology.client.toolkit.mqtt.service.MqttClientConfig; |
26 | 30 | import iot.technology.client.toolkit.mqtt.service.core.MqttClientService; |
27 | 31 |
|
| 32 | +import javax.net.ssl.SSLException; |
| 33 | +import java.io.File; |
28 | 34 | import java.io.Serializable; |
29 | 35 |
|
30 | 36 | /** |
@@ -108,6 +114,21 @@ public MqttClientConfig convertMqttClientConfig() { |
108 | 114 | config.setTimeoutSeconds(config.getTimeoutSeconds()); |
109 | 115 | config.setKeepAlive(config.getKeepAlive()); |
110 | 116 | } |
| 117 | + if (ssl.equals(ConfirmCodeEnum.YES.getValue()) && certType.equals(CertTypeEnum.SELF_SIGNED.getDesc())) { |
| 118 | + SslContext sslContext = null; |
| 119 | + try { |
| 120 | + sslContext = SslContextBuilder.forClient() |
| 121 | + .keyManager(new File(clientCert), new File(clientKey)) |
| 122 | + .trustManager(new File(ca)) |
| 123 | + .build(); |
| 124 | + } catch (SSLException e) { |
| 125 | + StringBuilder sb = new StringBuilder(); |
| 126 | + sb.append("sslContext load fail!"); |
| 127 | + sb.append(StringUtils.lineSeparator()); |
| 128 | + System.out.println(sb); |
| 129 | + } |
| 130 | + config.setSslContext(sslContext); |
| 131 | + } |
111 | 132 | if (lastWillAndTestament.equals(ConfirmCodeEnum.YES.getValue())) { |
112 | 133 | MqttQoS qos = MqttQoS.valueOf(Integer.parseInt(lastWillQoS)); |
113 | 134 | boolean retain = lastWillRetain.equals(ConfirmCodeEnum.YES.getValue()); |
|
0 commit comments