当前位置: 首页 > 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/14364509/

相关文章:

  • 西安微信网站制作北京响应式网站如何开发
  • 手机网站html5泉州全网营销
  • 给金融的做网站 犯法吗品牌建设之道
  • 电商网站开发系统架构网站推广优化的公司
  • 做网站的企业有哪些深圳建设管理中心网站首页
  • 怎么做一个网站平台佛山专业的网站制作
  • 承接网站怎么做网络工程师资料
  • 现在视频做网站晚了吗html5在线代码编辑器
  • 南京网站设公司推广软件
  • wordpress下载站用什么模板网站首页模板设计图
  • 没有基础怎么学网站建设网站产品详情页怎么做
  • 做乒乓球网站的图片大全开发公司和建材商促销活动
  • 湘潭企业网站建设 磐石网络凯里网站建设流程
  • 网站建设公司山西微盟商城
  • 一个网站可以做几个关键词织梦模板下载商城网站模板(高端大气上档次:带数据)
  • 网站建设实训室介绍滨州网站seo服务
  • 网站建设应该注意的问题设计师可以在哪些网站接单
  • 资阳住房和城乡建设厅官方网站查域名138
  • 网站建设流图visio考试网站开发的可行性分析
  • 长沙网站开发 58网站建设过时了吗
  • 做招投标有哪些网站wordpress4.8内存
  • 中国最大的做网站的公司wordpress入门到精通
  • 最专业网站建设wordpress禁用用户名
  • 网站建设和维护需要学的东西高校网站建设 调查
  • 湖南火电建设有限公司招标网站南阳高端网站建设
  • 网站安全建设策划书医院网站前置审批文件
  • 长沙城乡建设网站各种浏览器网站大全
  • 中企动力建站怎么样游戏云服务器租用
  • 建设网站的建设费用包括什么科目广州互联网广告推广
  • 网站设计网网站seo优化推推蛙