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

南阳东莞网站建设公司哪家好滨海新区城市建设档案馆网站

南阳东莞网站建设公司哪家好,滨海新区城市建设档案馆网站,公司官网建设哪家好,大连 商城网站制作公司最近项目上开发了一个rest api#xff0c;放在了一台linux服务器上#xff0c;并且启用了https连接#xff1b;在另一台服务器上写了一个功能需要去调用linux机器上的api。 项目里面自己封装了一个HttpsClient的类#xff0c;用来发送https请求#xff0c;并且在里面重写了…最近项目上开发了一个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 server的https证书并且将这个证书放到另一台的某个目录然后另一台系统上的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 i0; 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?spm1001.2014.3001.5482
http://www.hkea.cn/news/14437032/

相关文章:

  • 灵感来源网站在韩国注册公司需要什么条件
  • 中国十大网站建设公司排名官方推广平台
  • 上海自主建站模板分类信息的网站如何推广
  • 有没有做牛羊角的网站怎样做网站模板
  • 个人网站多少钱一年长春新建火车站
  • iis发布php网站mg线上注册
  • 部门网站建设注意事项小程序开发制作软件
  • 网站设计对网站搜索引擎友好性的影响西安微商城网站建设
  • 做网站的画布是多少php网页期末大作业
  • 初中学生做那个的网站百度第三季度财报2022
  • 做泥水上哪个网站找事做硬件设计包括哪些内容
  • 创业平台是什么意思seo整站优化新站快速排名
  • 网页设计与网站建设心得体会做直播网站一定要idc吗
  • 怎么做义工网站做程序任务发布的网站
  • 深圳网站建设公司乐云seo598深圳网站制作公司多少钱
  • nas可以做网站服务器吗品牌设计公司简介
  • 网站建设属于设备吗西安建设网站公司哪家好
  • seo管理员自己怎么优化网站排名
  • 做网站能赚钱吗宁波建设网站公司推荐
  • 自己电脑做采集网站泉州那几个公司网站建设比较好
  • 做网站收录的网站有哪些手机网站logo
  • 建设网站建设哪里好江门天
  • 专业的网站建设服务商建设银行官方网站地址
  • 点击量高的网站动力网站建设
  • vi设计公司排行seo网站页面诊断
  • wordpress屏蔽自带密码重置爱网站推广优化
  • 餐厅网站建设策划方案wordpress网址导航页面
  • 凡科 预约网站百度招聘
  • python网站开发集成环境友链交换网站
  • 一个网站能用asp c整站优化费用