城乡建设网站创同盟做网站好不好

pingmian/2026/1/21 11:15:59/文章来源:
城乡建设网站,创同盟做网站好不好,江苏公司网站建设,网站网络资源建立在构建系统时#xff0c;开发人员通常会忽略安全性方面。 安全一直是令人担忧的重要问题#xff0c;但是它比以前吸引了更高的关注。 就在今年#xff0c;我们发生了像Heartbleed Bug或CelebrityGate丑闻这样的案件。 这与帖子无关#xff0c;只是安全真正重要的示例#… 在构建系统时开发人员通常会忽略安全性方面。 安全一直是令人担忧的重要问题但是它比以前吸引了更高的关注。 就在今年我们发生了像Heartbleed Bug或CelebrityGate丑闻这样的案件。 这与帖子无关只是安全真正重要的示例我们应该意识到这一点。 随着REST服务的日益普及有必要以某种方式确保这些安全。 几周前我不得不将客户端与https后面的REST服务集成。 我以前从未做过这就是这篇文章的原因。 我必须承认自己不是安全专家所以如果我写任何愚蠢的文章请纠正我。 设置 对于此示例我使用了以下设置 具有SSL配置的 TomEE 或Tomcat 弹簧 Apache HTTP组件 我不会讨论有关SSL和TSL的许多详细信息因此请在此处查看其他内容。 请注意TLS是SSL演进的新名称。 有时两者之间会产生混淆人们通常会说SSL但使用的是TSL的最新版本。 记住这一点。 不要忘记按照下一页上的说明为Tomcat设置SSL SSL Configuration HOW-TO 。 服务器需要向客户端提供一组凭据证书以保护服务器与客户端之间的连接。 编码 服务 让我们创建一个简单的Spring REST服务 RestService.java Controller RequestMapping(/) public class RestService {RequestMapping(method RequestMethod.GET)ResponseBodypublic String get() {return Called the get Rest Service;} } 而且我们还需要一些接线来使其工作 RestConfig.java Configuration EnableWebMvc ComponentScan(basePackages com.radcortez.rest.ssl) public class RestConfig {} web.xml ?xml version1.0 encodingUTF-8? web-appversion3.1xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdservletservlet-namerest/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextClass/param-nameparam-valueorg.springframework.web.context.support.AnnotationConfigWebApplicationContext/param-value/init-paraminit-paramparam-namecontextConfigLocation/param-nameparam-valuecom.radcortez.rest.ssl/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namerest/servlet-nameurl-pattern//url-pattern/servlet-mappingsecurity-constraintweb-resource-collectionweb-resource-nameRest Application/web-resource-nameurl-pattern/*/url-pattern/web-resource-collectionuser-data-constraint!-- Needed for our application to respond to https requests --transport-guaranteeCONFIDENTIAL/transport-guarantee/user-data-constraint/security-constraint /web-app 请注意元素security-constraint user-data-constraint和transport-guaranteeCONFIDENTIAL/transport-guarantee 。 需要这些来指定应用程序需要安全连接。 选中“ 保护 Java应用程序的Web应用程序安全” 。 运行服务 只需使用您喜欢的IDE环境在TomEE服务器上部署应用程序然后访问https://localhost:8443/ 。 您应该获得以下信息您可能需要先接受服务器证书 请注意浏览器协议为https 端口为8443 假设您将默认设置保留在SSL Configuration HOW-TO中 。 客户 现在如果您尝试使用Java客户端调用此REST服务则很可能将获得以下消息和Exception或类似信息 消息 GET请求“ https// localhost8443 /”上的I / O错误sun.security.validator.ValidatorException 异常 由 以下原因 引起javax.net.ssl.SSLHandshakeExceptionsun.security.validator.ValidatorExceptionPKIX路径构建失败sun.security.provider.certpath.SunCertPathBuilderException无法找到到请求目标的有效证书路径 发生这种情况是因为正在运行的JDK没有针对您的服务器的有效证书。 您可以导入它并解决该问题但是让我们做一些更有趣的事情。 我们将以编程方式为受信任的密钥库提供服务器证书。 这在以下情况下特别有用 您正在将代码运行到多个环境中 您不必每次都手动将证书导入JDK 如果您升级JDK则必须记住有关证书的信息 由于某些奇怪的原因您无权访问JDK本身来导入证书 让我们写一些代码 RestClientConfig.java Configuration PropertySource(classpath:config.properties) public class RestClientConfig {Beanpublic RestOperations restOperations(ClientHttpRequestFactory clientHttpRequestFactory) throws Exception {return new RestTemplate(clientHttpRequestFactory);}Beanpublic ClientHttpRequestFactory clientHttpRequestFactory(HttpClient httpClient) {return new HttpComponentsClientHttpRequestFactory(httpClient);}Beanpublic HttpClient httpClient(Value(${keystore.file}) String file,Value(${keystore.pass}) String password) throws Exception {KeyStore trustStore KeyStore.getInstance(KeyStore.getDefaultType());FileInputStream instream new FileInputStream(new File(file));try {trustStore.load(instream, password.toCharArray());} finally {instream.close();}SSLContext sslcontext SSLContexts.custom().loadTrustMaterial(trustStore, new TrustSelfSignedStrategy()).build();SSLConnectionSocketFactory sslsf new SSLConnectionSocketFactory(sslcontext, new String[]{TLSv1.2}, null,BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);return HttpClients.custom().setSSLSocketFactory(sslsf).build();}Beanpublic static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {return new PropertySourcesPlaceholderConfigurer();} } 在这里我们使用Spring RestOperations接口该接口指定了一组基本的RESTful操作。 接下来我们使用Apache HTTP组件SSLConnectionSocketFactory 它使我们能够根据可信证书列表来验证服务器的身份。 证书从KeyStore从服务器使用的同一文件中加载 。 RestServiceClientIT.java RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes RestClientConfig.class) public class RestServiceClientIT {Autowiredprivate RestOperations rest;Testpublic void testRestRequest() throws Exception {ResponseEntity response rest.getForEntity(https://localhost:8443/, String.class);System.out.println(response response);System.out.println(response.getBody() response.getBody());} } 一个简单的测试类。 我们还需要一个具有密钥库文件位置和密码的属性文件 config.properties keystore.file${user.home}/.keystore keystore.passchangeit 如果您使用了所有默认值这应该可以正常工作。 运行测试 如果现在运行在Java客户端中调用REST服务的测试则应获得以下输出 响应 200 OK调用了get Rest服务{服务器 [Apache-土狼/1.1]缓存控制 [私有]到期时间 [星期四1970年1月1日周四010000 WET]内容类型 Content-Length [27]Date [Tue2014年12月23日格林尼治标准时间]] 身体 叫得到休息服务 结论 而已 现在您可以以安全的方式与客户端调用REST服务。 如果您希望将证书添加到JDK密钥库请检查此文章 。 敬请期待与Java EE JAX-RS等效的等效产品。 资源资源 您可以从我的github仓库REST SSL克隆完整的工作副本。 翻译自: https://www.javacodegeeks.com/2014/12/ssl-tls-rest-server-client-with-spring-and-tomee.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站域名备案变更wordpress集成环境

在开源项目中提交PR(Pull Request)是一种常见的贡献方式,它允许开发者向项目仓库提交代码更改并请求合并到主分支中。以下是提交PR的一般步骤: Fork仓库:首先,你需要Fork(即复制)你想…

网站seo计划书网站建设规划书的制作

RestControllerAdvice RestControllerAdvice 是 Spring Framework(3.2)和 Spring Boot 中用于全局处理控制器层异常和统一响应格式的注解。它结合了 ControllerAdvice 和 ResponseBody 的功能,能够拦截控制器方法抛出的异常,并以 …

学做窗帘要下载哪个网站想接网站自己做

信号处理的任务示意方框图 模拟信号和数字信号分别是啥样的,有啥区别

太原营销型网站万荣做网站

Timer 控件可以定期引发事件,该控件是为 Windows 窗体环境设计的。时间间隔的长度由 Interval 属性定义,其值以毫秒为单位。若启用了该组件,则每个时间间隔引发一个 Tick 事件,在该事件中添加要执行的代码。如图1 所示为 Timer 控…

揭阳网站制作计划南宁免费建站系统

新世纪“绝”句上联:男生,女生,穷书生,生生不息! 下联:初恋,热恋,婚外恋,恋恋不舍!横批:生无可恋 上联:博士生,研究生,本科生,生生不息&#xff…

上海黄浦 网站建设开发触屏版网站标签

一家新的餐馆开业了,为了吸引更多的顾客,每样餐品都有打折的活动。特别的,餐馆内一共有𝑛样菜品,编号从 1 1 1 到 n n n,每样菜品每人最多只能点一次。对于第 i i i 种菜品,其包含两种价格&a…

巩义做网站的廊坊关键词优化报价

随着生活节奏的加快,很多人抱怨压力越来越大。美国《赫芬顿邮报》近日载文指出,一些压力是外在压力,而更多的压力来自我们自身。以下就是在不知不觉中增加自身压力的习惯。 忘记每日大笑 如果你想不起来上次捧腹大笑的时间,你就该…

上海大型网站建设手工灯笼简单又好看

二分图--匈牙利算法匹配 P2319 [HNOI2006] 超级英雄 P1894[USACO4.2] 完美的牛栏The Perfect Stall P2071 座位安排 分层图 P4822 [BJWC2012] 冻结 P4568[JLOI2011] 飞行路线 P2939 [USACO09FEB] Revamping Trails G 最短路 P2149[SDOI2009] Elaxia的路线 Elaxia 和 w*…

短期网站开发培训动画片制作教程

条件变量属性:使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止。条件变量始终与互斥锁一起使用。使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止。对掉件的测试时在互斥锁的保护下进行的。如果条件为假…

12380网站建设打算住房和城乡建设部招聘

教育 教育 试卷代号: 1062 2021年春季学期期末统一考试 文学英语赏析 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考…

模型评测网站怎么做企查查官网查询入口

前言 前面几篇文章分别学习了多线程的基本知识和线程池使用,这篇则为项目实践和整理。 项目参考 选择了两个项目github地址,如果不方便下载可以下面留言评论私发。 1.马士兵老师的juc,讲述了多线程的基本知识线程讲解 2.基本的线程演示&am…

自已买域名做网站要多少钱wordpress主题在手机不展示

我在Python中有一个服务器/客户机套接字对。服务器接收特定的命令,然后准备响应并将其发送到客户端。在在这个问题中,我关心的只是代码中的可能的注入:如果可以要求服务器对第二个参数做一些奇怪的事情——如果对命令内容的控制不足以避免不希…

做做网站下载2023八戒电影在线观看免费7

Guava是Google开源的一个Java基础类库,它在Google内部被广泛使用。Guava提供了很多功能模块比如:集合、并发库、缓存等,EventBus是其中的一个module,本篇结合EventBus源码来谈谈它的设计与实现。 概要 首先,我们先来预…

重点实验室网站建设今天新闻摘抄十条

图像的表示 1,位数 计算机采用0/1编码的系统,数字图像也是0/1来记录信息,图像都是8位数图像,包含0~255灰度, 其中0代表最黑,1代表最白 3, 4,OpenCV部署方法 安装OpenCV之前…

江门网站建设推广公司的网站建设价格

目录 前言 一、动态树的实现 1.数据表 2.编写后端controller层 3.定义前端发送请求路径 4.前端左侧动态树的编写 4.1.发送请求获取数据 4.2.遍历左侧菜单 5.实现左侧菜单点击展示右边内容 5.1.定义组件 5.2.定义组件与路由的对应关系 5.3.渲染组件内容 5.4.通过动态…

宣城市网站集约化建设西安建公司网站

目的 Q:如何在Qt库的基础上,实现自定义控件呢? A:根据官方文档回答,就是继承需实现的控件,然后实现自定义功能。 以下是实现QListWidget控件的自定义item。 先看下最终效果是如何: listItem 主…

临沂建设工程招聘信息网站郑州网站建设 .cc

1. 什么是bug bug本意是昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问 题,简称程序漏洞。 “Bug” 的创始人格蕾丝赫柏(Grace Murray Hopper),她是一位为美国海军工作的…

实名制认证网站wordpress主题git下载失败

统一建模语言(Unified Modeling Language, UML )是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。 UML 是面向对象设计的建模工具,独立于任何具体程序设计语言。 一、简介 UML 作为一…

网站为什么做优化ppt百度引擎搜索网址

Nacos与Eureka的区别详解 在微服务架构中,服务注册与发现是核心组件之一,它们允许服务实例在启动时自动注册,并且能被其他服务发现,从而实现服务之间的互相通信。Nacos和Eureka都是现代微服务体系中广泛使用的服务注册与发现工具。本文将深入分析二者的区别,并为您提供一…

槐荫区网站建设室内装修设计软件用哪个好

在今年夏天策马翻译举办的翻译讲座上,我和詹成教授交流过一个问题:詹教授讲的很多知识点和经验并不符合“信达雅”?詹教授的回答是:“信达雅”并非翻译界的标准,他自己在日常翻译工作中的标准是“快准顺”。詹教授的回…