当前位置: 首页 > news >正文

建站网址大全黑龙江省城乡建设厅网站首页

建站网址大全,黑龙江省城乡建设厅网站首页,百度做的网站一般在什么后台,网络课程系统网站建设费用MQTT Paho Android 支持SSL/TLS(亲测有效) 登录时支持ssl的交互 这是调测登录界面设计 代码中对ssl/tls的支持 使用MqttAndroidClient配置mqtt客户端请求时#xff0c;不加密及加密方式连接存在以下几点差异#xff1a; url及端口差异 val uri: String if (tlsConnect… MQTT Paho Android 支持SSL/TLS(亲测有效) 登录时支持ssl的交互 这是调测登录界面设计 代码中对ssl/tls的支持 使用MqttAndroidClient配置mqtt客户端请求时不加密及加密方式连接存在以下几点差异 url及端口差异 val uri: String if (tlsConnection) {ssl://$host:$port} else {tcp://$host:$port}支持tls时url前缀是ssl: 普通mqtt连接时候前缀是tcp 端口差异 tcp请求时默认端口1883 ssl请求时默认端口是8883 socketFactory配置项 笔者项目中只支持单向验证即客户端验证服务端所以需要在客户端加载服务端证书用于ssl连接 if(connection.isSSL 1){//单项验证客户端验证服务端onenet提供的.pem证书需要用keytool转成java支持的bks、或者jks等connOpts.socketFactory connection.client.getSSLSocketFactory(context.assets.open(MQTTS-certificate.bks), 12345678)connOpts.isHttpsHostnameVerificationEnabled falseconnOpts.setSSLHostnameVerifier { _, _ - true }}说明 java中不支持pem证书加载所以需要使用keytool工具将pem格式证书转成java/android支持的bks或者jks等 keytool -importcert -v -trustcacerts -file ./MQTTS-certificate.pem -alias ca -keystore ./mqtt.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath ./bcprov-ext-jdk18on-176.jarbcprov-ext-jdk18on-176.jar需要从以下地址下载 https://www.bouncycastle.org/latest_releases.html 证书中会涉及域名验证如果证书中缺少这个字段那么运行时候会报下面错误 MqttException (0) - javax.net.ssl.SSLHandshakeException: No subjectAltNames on the certificate match 解决办法是跳过域名及host验证的流程 connOpts.isHttpsHostnameVerificationEnabled false connOpts.setSSLHostnameVerifier { _, _ - true }client.getSSLSocketFactory实现 下面我们看看MqttAndroidClient创建sslSocketFactory的具体实现代码。 //info.mqtt.android.service.MqttAndroidClient/*** Get the SSLSocketFactory using SSL key store and password* A convenience method, which will help user to create a SSLSocketFactory* object** param keyStore the SSL key store which is generated by some SSL key tool,* such as keytool in Java JDK* param password the password of the key store which is set when the key store* is generated* return SSLSocketFactory used to connect to the server with SSL* authentication* throws MqttSecurityException if there was any error when getting the SSLSocketFactory*/Throws(MqttSecurityException::class)fun getSSLSocketFactory(keyStore: InputStream?, password: String): SSLSocketFactory {return try {val sslSockFactory: SSLSocketFactoryval ts: KeyStore KeyStore.getInstance(BKS)ts.load(keyStore, password.toCharArray())val tmf TrustManagerFactory.getInstance(X509)tmf.init(ts)val tm tmf.trustManagersval ctx: SSLContext SSLContext.getInstance(TLSv1)ctx.init(null, tm, null)sslSockFactory ctx.socketFactorysslSockFactory} catch (e: KeyStoreException) {throw MqttSecurityException(e)} catch (e: CertificateException) {throw MqttSecurityException(e)} catch (e: IOException) {throw MqttSecurityException(e)} catch (e: NoSuchAlgorithmException) {throw MqttSecurityException(e)} catch (e: KeyManagementException) {throw MqttSecurityException(e)}}Github https://github.com/hannesa2/paho.mqtt.android https://github.com/eclipse/paho.mqtt.android 项目中涉及的sample示例代码很值得一探究竟对你掌握MQTT相关支持很有帮助喔
http://www.hkea.cn/news/14446006/

相关文章:

  • 纺织网站建设方案网站快速网站推广
  • 常州市建设局网站建网站logo怎么做
  • 深圳搭建网站公司wp网站如何做多级联动筛选框
  • 制作需要多少钱西安网站seo外包
  • 虚拟主机网站301跳转网站不收录原因
  • 网站制作商网站首页psd下载
  • 网站域名的根目录在哪里数据中心网站模板
  • 视频网站 建设 硬件建购物网站多少钱
  • 怎么制作网站生成图片鲜花网站建设规模设想
  • 那个外贸网站做的最好如何更快的学习.net网站开发
  • 网站建设 辉煌电商上海十大跨境电商排名
  • 温江区建设局网站怎么做网站平台
  • 网站前置审批项猪八戒网做网站怎么样
  • 用word文档做网站网站域名注册费用
  • 怎样做网站首页微信小程序网站建设推广
  • 哪个网站是专门做兼职的密云网站建设
  • 承德兴隆建设局网站宁波seo推荐推广平台
  • wap企业网站设计工作室韵味的名字
  • 网站开发东莞医院网站备案流程
  • 快三彩票网站开发网络营销属于哪个专业
  • wordpress回收站位置郑州建网站费用
  • 网站建设标语文案做网站网站
  • 网站设计与制作是做什么工作304hk 爱站网
  • 哈尔滨市建设网站wordpress博客如何防止另存为
  • 生成图片链接的网站无锡建站模板系统
  • 专业电商网站建设哪家好乐清英文网站建设
  • 售后服务网站长沙法律咨询网站设计开发
  • 郑州网站推广专员网站备案名称能重复吗
  • 新手建设什么网站好wordpress管理员账号
  • 珠海市网站建设分站怎么样网站配色与布局