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

动漫设计作品湖北seo诊断

动漫设计作品,湖北seo诊断,商丘住房和城乡建设网站,打广告的平台最近项目上开发了一个rest api,放在了一台linux服务器上,并且启用了https连接;在另一台服务器上写了一个功能需要去调用linux机器上的api。 项目里面自己封装了一个HttpsClient的类,用来发送https请求,并且在里面重写了…

最近项目上开发了一个rest api,放在了一台linux服务器上,并且启用了https连接;在另一台服务器上写了一个功能需要去调用linux机器上的api
项目里面自己封装了一个HttpsClient的类,用来发送https请求,并且在里面重写了TrustManager,方法体都为空,这样就不会对server的证书以及client的证书进行校验,能够顺利的从另一台服务器调用linux上的api

/*** * A default TrustManager which will trust any certificate.**/
private static class DefaultTrustManager implements X509TrustManager {@Overridepublic void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return null;}
}

但是上面的这种方法是不安全的,对server的证书以没有进行校验,就不能确定和自己进行通信的server,到底是不是真正的那个我想要通信的server,有可能是一个中间的,黑客部署的server,这样就会导致数据的安全问题。
于是需要在另一台这端对linux server端的证书进行认证,确认server是不是真正想要的server
解决方案:
linux服务器上,使用openssl生成了一个自签名的ssl证书(如何生成ssl证书),用这个证书来启用linux serverhttps证书,并且将这个证书放到另一台的某个目录,然后另一台系统上的java代码,在发送请求的时候,将证书放到keyStore里面,这样java就能对这个证书进行认证。
下面是ChatGPT给出的示例代码: 读取指定的每一个路径上的证书,放到JKS格式的keyStore里面,然后用这个keyStore初始化TrustManager,最后用TrustManager创建sslcontext

    private SSLContext getSSLContext(JSONArray certificates, String protocol) throws Exception {SSLContext sc = null;if (certificates != null) {String certFileName = null;try {// Create a temp keystore object to be used to make the HTTPS callKeyStore keystore = KeyStore.getInstance("JKS");keystore.load(null,null);for (int i=0; i < certificates.size(); i++) {certFileName = (String)certificates.get(i);try (BufferedInputStream bis = FileFactory.newBufferedInputStream((String)certificates.get(i))) {CertificateFactory cf = CertificateFactory.getInstance("X.509");Certificate cert = cf.generateCertificate(bis);keystore.setCertificateEntry("cert" + i, cert);}}TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());tmf.init(keystore);// Create and initialize the SSL context that will be used by the HTTPS connectionsc = SSLContext.getInstance(protocol);sc.init(null, tmf.getTrustManagers(), null);} catch(IOException e) {throw e;} catch(CertificateException e) {throw e;} catch(KeyStoreException | NoSuchAlgorithmException | KeyManagementException e) {throw e;}}return sc;}

更多关于https的文章,请参考我的https专栏:https://blog.csdn.net/u011069294/category_11083017.html?spm=1001.2014.3001.5482

http://www.yidumall.com/news/29547.html

相关文章:

  • 璧山集团网站建设南宁网络优化seo费用
  • 密云建设网站百度云超级会员试用1天
  • 潮流印花图案设计网站成都网站seo诊断
  • 国外独立站建站沈阳关键词优化价格
  • 丹东网站开发公司设计好看的网站
  • 做营销网站公司营销方式方案案例
  • 网站关键词添加后的后果灰色项目推广渠道
  • 做优化的网站深圳网站开发制作
  • 如何做一个商城类型的网站学习软件的网站
  • 做推广的网站需要注意什么上海优化公司选哪个
  • 网站做flash好不好百度知道客服
  • 建德 网站电商seo引流
  • 找团队做网站需要明确哪些东西营销技巧和话术
  • 大兴西红门网站建设搜索引擎优化技术
  • 网站用哪个软件做网络营销广告案例
  • 宁波企业网站推广效果好搜索引擎营销的优缺点
  • 做网站如何购买服务器关键词排名查询工具
  • 成都网站公司网站建设广东seo推广哪里好
  • 大连哪家网站做的好最有效的广告宣传方式
  • 硅谷网站开发薪酬bt磁力搜索引擎索引
  • 网站规划主要内容合肥seo外包平台
  • 爱客crm手机下载百度seo优化是什么
  • 南昌网站建设哪家最好网络推广网上营销
  • 网站建设维护价格关键词排名怎么上首页
  • 制作一个网站怎么架构推广网站平台
  • 如何做直播类网站海外营销
  • 婴儿做相册的网站新品推广策划方案
  • 网站首页关键词口碑好的设计培训机构
  • host域名主机服务商商务企业网站模板hyein seo
  • 网站建设框架文档百度推广免费