少年乘勇气,百战过乌孙。这篇文章主要讲述ESA2GJK1DH1K安全篇: Android以SSL方式连接MQTT服务器相关的知识,希望能为你提供帮助。
------------恢复内容开始------------
不导入证书方式
1.增加以下代码
static class miTM implements TrustManager, X509TrustManager { public X509Certificate[] getAcceptedIssuers() { return null; } public boolean isServerTrusted(X509Certificate[] certs) { return true; } public boolean isClientTrusted(X509Certificate[] certs) { return true; } public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException { return; } public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException { return; } }
try{ TrustManager[] trustAllCerts = new TrustManager[1]; TrustManager tm = new miTM(); trustAllCerts[0] = tm; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, null); SocketFactory factory = sc.getSocketFactory(); mqttConnectOptions.setSocketFactory(factory); }catch (Exception e){ Log.e(TAG, e.toString() ); }
2.具体添加的位置
文章图片
3.修改为SSL连接,端口号改为8883
文章图片
文章图片
4.测试
文章图片
【ESA2GJK1DH1K安全篇: Android以SSL方式连接MQTT服务器】
------------恢复内容结束------------
推荐阅读
- Android实战项目——家庭记账本
- Android如何实现点击后ui直接变化
- 安卓Activity嵌入Fragment时出现的must implent OnFragmentInteractionListener的问题(另附嵌入方法)
- Android学习10
- 利用AppMetrics对Web进行监控教程
- Android开发之记账本开发第三天
- MyBatis Mapper insert操作返回自增Id
- 如何执行Redis基准测试()
- 了解有关Ansible Playbook自动化任务的信息