diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0c7a876..4c5d89d 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,9 +5,9 @@
-
-
-
+
+
+
@@ -50,6 +50,9 @@
+
+
+
@@ -110,7 +113,8 @@
-
+
+
diff --git a/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java b/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
index 35897cf..5d9691c 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
@@ -24,7 +24,7 @@ public class MqttRSAClient {
/**
* 客户端唯一标识
*/
- public static String MQTT_CLIENT_ID = "AppServer_admin-client-temperature_APP_server_01";
+ public static String MQTT_CLIENT_ID = "AppServer_temperature_APP_server_02";
/**
*帐号
@@ -68,6 +68,10 @@ public class MqttRSAClient {
//断线重连
options.setAutomaticReconnect(true);
//mqtt服务器端单双向加密
+// InputStream caCrtFile = this.getClass().getResourceAsStream("/ssl/my_root_ca.crt");
+// InputStream crtFile = this.getClass().getResourceAsStream("/ssl/client.crt");
+// InputStream keyFile = this.getClass().getResourceAsStream("/ssl/client.key");
+// String password = "";
InputStream caCrtFile = this.getClass().getResourceAsStream("/ssl/my_root_ca.crt");
InputStream crtFile = this.getClass().getResourceAsStream("/ssl/client.crt");
InputStream keyFile = this.getClass().getResourceAsStream("/ssl/client.key");
diff --git a/src/main/java/com/rehome/mqttclienttemperature/utils/MqttSSLSocketFactory.java b/src/main/java/com/rehome/mqttclienttemperature/utils/MqttSSLSocketFactory.java
index 4c9a2e6..8809702 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/utils/MqttSSLSocketFactory.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/utils/MqttSSLSocketFactory.java
@@ -39,8 +39,55 @@ public class MqttSSLSocketFactory {
return sslContext.getSocketFactory();
}
+// public static SSLSocketFactory getTwoDirSocketFactory(InputStream caCrtFile, InputStream crtFile, InputStream keyFile,
+// String password) throws Exception {
+// Security.addProvider(new BouncyCastleProvider());
+//
+// // load CA certificate
+// X509Certificate caCert = null;
+//
+// BufferedInputStream bis = new BufferedInputStream(caCrtFile);
+// CertificateFactory cf = CertificateFactory.getInstance("X.509");
+//
+// while (bis.available() > 0) {
+// caCert = (X509Certificate) cf.generateCertificate(bis);
+// }
+//
+// // load client certificate
+// bis = new BufferedInputStream(crtFile);
+// X509Certificate cert = null;
+// while (bis.available() > 0) {
+// cert = (X509Certificate) cf.generateCertificate(bis);
+// }
+//
+// // load client private cert
+// PEMParser pemParser = new PEMParser(new InputStreamReader(keyFile));
+// Object object = pemParser.readObject();
+// JcaPEMKeyConverter converter = new JcaPEMKeyConverter();
+// KeyPair key = converter.getKeyPair((PEMKeyPair) object);
+//
+// KeyStore caKs = KeyStore.getInstance(KeyStore.getDefaultType());
+// caKs.load(null, null);
+// caKs.setCertificateEntry("cert-certificate", caCert);
+// TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+// tmf.init(caKs);
+//
+// KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
+// ks.load(null, null);
+// ks.setCertificateEntry("certificate", cert);
+// ks.setKeyEntry("private-cert", key.getPrivate(), password.toCharArray(),
+// new java.security.cert.Certificate[]{cert});
+// KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+// kmf.init(ks, password.toCharArray());
+//
+// SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+// sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+//
+// return sslContext.getSocketFactory();
+// }
+
public static SSLSocketFactory getTwoDirSocketFactory(InputStream caCrtFile, InputStream crtFile, InputStream keyFile,
- String password) throws Exception {
+ String password) throws Exception {
Security.addProvider(new BouncyCastleProvider());
// load CA certificate
@@ -86,5 +133,4 @@ public class MqttSSLSocketFactory {
return sslContext.getSocketFactory();
}
-
}