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

龙岩做网站百度权重高的发帖网站

龙岩做网站,百度权重高的发帖网站,青岛做网站哪里好,怎么更改网站名称最近项目上开发了一个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.qdjiajiao.com/news/10201.html

相关文章:

  • 有哪些好的做问卷调查的网站网站收录工具
  • 青海网站建设哪家强深圳百度seo代理
  • 怎样做网站二级页面新开传奇网站
  • 南宁哪个公司做网站建设百度搜索热词查询
  • 二次开发需要什么北京网站建设优化
  • 做网站需要费用多少代推广app下载
  • 百度手机模板网站seo标题优化是什么意思
  • 整站下载器 安卓版黄冈网站推广厂家
  • 做后台财务系统网站2023年九月份新闻
  • 深圳住房建设厅网站首页青岛网络优化哪家专业
  • 网站建设网络公b2b电子商务平台排名
  • 网站建设方案范文8篇百度推广账号登陆入口
  • 在哪里可以自己建网站搜索引擎营销流程是什么?
  • 山东建设网站首页哈尔滨seo网络推广
  • 营销网站建设培训学校自己做网站如何赚钱
  • 文成做网站如何制作视频网站
  • 网站开发执行文档手机百度快照
  • 外国人的做视频网站吗百度网址安全中心
  • 网站改版是什么意思外包平台
  • 网站换模板有影响吗兰州网络推广关键词优化
  • 什么购物平台质量最好seo优化报价
  • wordpress 站群模板数据营销
  • 什么网站做外贸最多的it菜鸡网seo
  • 网站手机微信三合一怎么做网站百度不收录的原因
  • python网站开发实例教程电商平台运营方案思路
  • 有没有专门做蛋糕的网站推广关键词排名
  • 做网站开发用哪门语言合肥全网推广
  • 宜州做网站需要多少钱2023年8月新冠
  • 网站建设与管理案例...it行业培训机构一般多少钱
  • 专业网站建设微信网站定制网站制作多少钱