Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >商用产品组件的安全HTTP通信

商用产品组件的安全HTTP通信
EN

Stack Overflow用户
提问于 2015-09-10 06:44:16
回答 4查看 345关注 0票数 10

假设我想发布一个商业产品,它有两个组件,用Java编写,使用RESTful API在本地网络上相互通信。它可以是一个音乐经理,一个联系数据库,一本烹饪书--重要的是,这是一个合理且极有可能发生的情况。

请注意,我说的是通过本地网络相互通信的两个组件--而不是与我的服务器通信。

那么我如何保证通信的安全呢?

我知道,如果我为世界设置一个HTTP服务器,我可以(甚至便宜)购买一个SSL证书。我已经做到了。但我不能告诉用户去购买证书--他们不会知道我在说什么,也永远不知道如何安装它。

那我该怎么办?把我自己签署的证书发给每个人,然后做一件很糟糕的事情,比如禁用Java中的证书验证?太可怕了我知道。但至少这些信息不会以纯文本的形式出现。

有人有更好的解决方案吗?

EN

回答 4

Stack Overflow用户

发布于 2015-09-13 12:17:36

更新了9月20日的,以澄清评论中提出的问题

为了了解如何做到这一点,让我们研究一下这样一个应用程序的可能部署场景。假设所讨论的应用程序由两个组件组成--客户机部分和服务器部分,打算安装在本地网络上的不同计算机上。我们希望我们的服务器部分只接受安全连接,因此本地网络被认为是敌对的。

  1. 安装服务器部件。安装时,使用目标计算机的主机名以编程方式创建自签名证书。如果计算机没有DNS记录(如myserver.mycorp.com),请使用它的IP地址--它必须是静态的,因为我们需要将客户端部分指向它。可以使用弹跳城堡API在代码中创建证书。
  2. 将客户端部件安装到另一台计算机上,并将生成的证书复制到安装文件夹。手动这样做可以有效地在服务器和客户端之间建立信任。试图通过敌对网络上的未加密连接自动完成这一任务将违背目的。
  3. 由于您严格地保护您自己的应用程序部分之间的通信,所以您完全可以控制该应用程序信任的证书。在客户端上,创建密钥存储库,并将生成的证书添加到其中: KeyStore.getInstance(KeyStore.getDefaultType());FileInputStream(yourCertificateFile);CertificateFactory cf = CertificateFactory.getInstance("X.509");X509Certificate c= (X509Certificate)cf.generateCertificate( fis );KeyStore ks = FileInputStream ks.load(null,aRandomKeystorePasswordCharArray);FileOutputStream fos =新FileOutputStream(aRandomKeystoreFileName);ks.store(fos,FileOutputStream);FileInputStream(); 告诉JVM,您的应用程序只会信任来自它自己的keystore的证书。 //在Windows System.setProperty("javax.net.ssl.trustStore",aRandomKeystoreFileName上的aRandomKeystoreFileName中用斜杠替换反斜杠'\‘;System.setProperty("javax.net.ssl.trustStorePassword",aRandomKeystorePassword);
票数 6
EN

Stack Overflow用户

发布于 2015-09-10 06:59:22

使用SSL2.0来保护您的服务,您应该只向客户端提供令牌,而不是双向OAuth。Facebook,Google等都在使用它。

https://en.wikipedia.org/wiki/OAuth

票数 2
EN

Stack Overflow用户

发布于 2015-09-13 09:22:47

您的链接答案提供了另一种解决方案:不是禁用对自签名证书的证书验证,而是“导出证书(.)并将其导入您的JVM信任库”。

因此,只有在第一次发现未知证书时,才要求用户确认。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32505035

复制
相关文章
阿里量子通信开始商用,开启数据绝对安全时代?
2017年3月,阿里巴巴宣布启动NASA计划为20年之后储备核心科技,在近日,阿里巴巴召开“阿里技术下午茶”活动,首次向外界展示NASA计划——量子通信技术研究成果。 在量子信息领域,阿里巴巴已走在前列。2015年与中科院成立量子计算实验室,研制量子计算机;在量子通信领域,2015年云栖大会上,阿里云与中科院联合发布量子加密通信产品,双方以阿里云作为实测环境,建立了多个量子安全传输域,实现同城数据中心基于量子加密通信的组网,为客户提供无条件安全数据传输服务。 在“阿里技术下午茶”上,阿里巴巴集团首席通信科
罗超频道
2018/04/25
9880
阿里量子通信开始商用,开启数据绝对安全时代?
Vue组件通信_android组件间通信
传递数据<组件标签名 name=’***’ :传递参数名=’值’/> 这里传递参数名前加” : ” 从而可以动态绑定数据
全栈程序员站长
2022/11/19
1.9K0
Vue组件通信_android组件间通信
Vue 组件的通信
组件通信 父->子(在子组件中使用父组件数据) props : 不可修改 单向数据传递 子->父(在父组件中使用子组件数据) 自定义事件! 兄弟组件 组件让我们提高了代码的复用性,接下来考虑如何在不同的组件中进行传值 比如: 父组件有items数组 在子组件中使用父组件中的items数组去渲染列表 父子组件通信 目的: 要在子组件中使用父组件中data中的属性值 关键点:通过Props给子组件传值 步骤: 在子组件中通过props声明自定义属性title 注册局部组件 使用子组件
RiemannHypothesis
2022/11/05
3670
Vue 组件的通信
react的组件通信
本文最后更新于 128 天前,其中的信息可能已经有所发展或是发生改变。 react的组件通信 1、父组件传子组件 import React, {Component} from 'react' class Father extends Component{ render() { return ( <div> <Child msg="我是父组件中的数据:father-data"/> </div>
likepoems
2023/03/04
6670
vue父子组件通信以及非父子组件通信的方法
组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。一般来说,组件可以有以下几种关系,父子关系、兄弟关系和隔代关系,简化点可以分为父子关系和非父子关系,下面就讲讲vue父子组件通信以及非父子组件通信的方法。使用代码格式会比较乱,所以直接使用图片演示。
青年码农
2020/10/13
1.7K0
vue父子组件通信以及非父子组件通信的方法
Vue 父子组件通信 兄弟组件通信 深层组件通信 方式一览
this.$parent   获取父组件实例 可以使用父组件实例的属性 this.$children 获取子组件数组 可以利用下标调用子组件实例的属性
憧憬博客
2020/07/20
1.3K0
Http通信基础
HTTP是一个优秀的通信协议,不过事物皆具有双面性,该协议也是有不足之处,大概有以下几点:
Autooooooo
2020/11/09
3590
Http通信基础
Web安全学习笔记(四):web通信基础之HTTP
--------------------开始--------------------
Power7089
2019/07/25
4820
NFV产品如何才能走向规模商用
作者简介:王晔,烽火通信科技股份有限公司ICT网络产品线NFV产品总监,高级工程师,研究方向为SDN\NFV\MEC\AI\光通信。
SDNLAB
2019/05/13
1K0
NFV产品如何才能走向规模商用
Vue 组件通信
该章节的内容到这里就全部结束了,源码我已经发到了 GitHub Vue-Communication 上了,有需要的同学可自行下载
Nian糕
2020/05/18
4400
Vue 组件通信
Vue基础:组件--组件及组件通信
组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以is特性扩展。
奋飛
2019/08/15
1.8K0
Vue父子组件的通信
Prop 是你可以在组件上注册的一些自定义 attribute。 当一个值传递给一个 prop attribute 的时候,它就变成了那个组件实例的一个 property。
名字是乱打的
2021/12/22
1.2K0
Vue父子组件的通信
Angular 组件通信
上一篇,我们讲了 Angular 结合 NG-ZORRO 快速开发。前端开发,很大程度上是组件化开发,永远离不开组件之间的通信。那么,在 Angular 开发中,其组件之间的通信是怎么样的呢?
Jimmy_is_jimmy
2022/04/15
2K0
VUE组件之间的通信
1.父子组件通信 父传子 (1)通过在父组件v-model绑定数据,在子组件进行用props进行数据的接收 父组件
ZEHAN
2020/11/03
1.1K0
react组件间的通信
在使用react过程中,不可避免的需要组件间的数据通信,数据通信一般情况有一下几种情况:
OECOM
2020/07/02
6730
React组件通信
react因为组件化,使得组件间通信十分的重要。本文就来简单介绍一些常见的react组件间传递的内容。
xiaofeng123aa
2022/10/18
1.1K0
React的组件通信方式
react因为组件化,使得组件间通信十分的重要。本文就来简单介绍一些常见的react组件间传递的内容。
xiaofeng123aa
2022/12/07
1.4K0
Vue.js的组件、组件间通信
props定义了这个组件有哪些可配置的属性,props最好用对象的写法,这样可以针对每个属性设置类型、默认值或自定义校验属性的值。
用户3258338
2020/05/22
10.2K0
解密传统组件间通信与React组件间通信
在React中最小的逻辑单元是组件,组件之间如果有耦合关系就会进行通信,本文将会介绍React中的组件通信的不同方式
前端迷
2019/12/05
1.5K0
点击加载更多

相似问题

在Cisco上配置路由器

20

如何在Cisco路由器上配置路由器

20

在Cisco路由器上配置静态NAT

10

在Cisco路由器上配置SSLVPN的问题

10

在Cisco路由器上配置生成树

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文