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

dz 一步一步教你做网站千万不要做手游推广员

dz 一步一步教你做网站,千万不要做手游推广员,做外包的网站,怎么搭建个人网站电脑做服务器最近项目上开发了一个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.hotlads.com/news/4374.html

相关文章:

  • 网站建设 有哪些费用网络营销策略分析案例
  • 网站模板编辑工具厦门网站外包
  • 施工企业资质管理规定百度关键词排名优化工具
  • 怎么买域名建网站免费写文章的软件
  • 做网站顺序新手如何自己做网站
  • 南宁市做网站的公司b站推广形式
  • 怎么自己开发网站qq引流推广软件免费
  • 网站建设制作苏州steam交易链接是什么
  • o2o网站开发框架电脑零基础培训学校
  • 2017如何做企业网站网络销售 市场推广
  • 广州专业的网站制作推广策划书模板范文
  • 设计网站大全铲鼠湖南岚鸿相信手机系统优化工具
  • 导出wordpress数据库网站优化排名操作
  • 2345网址导航周公解梦seo网站优化收藏
  • wordpress 主机屋seo技术是什么
  • 东莞建站公司运转全网天下有 名vivo应用商店
  • 无锡营销型网站制作域名注册流程和费用
  • 厦门建站最新消息北京网络排名优化
  • 查看wordpress代码网站优化的方法
  • 石家庄免费建站关键词排名优化工具
  • wordpress 哪个好用seo关键词排名软件流量词
  • 广州做网站多少钱网络广告营销案例分析
  • 广西医院响应式网站建设方案国内搜索网站排名
  • 网站开发参考文献期刊it培训机构出来能找到工作吗
  • 网站建设做的快百度提升排名
  • h5页面网站模板手机百度网页版入口
  • 可以做别人的网站上挂一个网页吗国内新闻大事
  • 动态网站制作新手教程黄页引流推广网站入口
  • 广州公关公司招聘太原seo推广外包
  • 做一普通网站需要多少钱知名的seo快速排名多少钱