为什么我需要为https连接安装证书?

时间:2018-05-30 12:18:15

标签: web-services ssl certificate

关于与https资源(例如,安全的Web服务)的通信,我一直在阅读https://wiki.genexus.com/commwiki/servlet/wiki?4443,Consuming+web+services+under+https+in+Java,为了从Java建立连接“我们必须安装了我们寻求通信的服务器证书这种证书包含用于加密发送信息的公钥,只有服务器用其私钥解码(在这里阅读更多)。因此,在使用https服务时,我们需要服务器证书。为了建立我们的沟通“

疑惑:

  1. 据我所知,当您使用https资源打开连接时,例如,从浏览器开始,服务器会找到证书,但您不需要先安装它,或者我是否需要先将它安装在我的机(浏览器)?我为什么需要它?
  2. 由于

1 个答案:

答案 0 :(得分:0)

您通常拥有一个您信任的CA列表,然后您自动信任由其中一个证书颁发机构颁发的服务器提供的任何证书。

对于更高的安全性设置,您可以在带外获取另一个端点证书并验证它是否匹配。然而,当证书过期时,您会遇到管理问题(CA证书也会过期,但更常见的是在10到20年的时间内,而不是单个证书,最长有效期为1年,甚至只有3个月才能使用加密),你需要用一些可靠的手段来掌握它们。

请注意,较新的技术(如DANE)允许提供商在DNS中插入其使用的证书(或其指纹)或CA的证书,以便向客户发出信号,以确保仅使用连接到它是用那些加密材料完成的(这与当前Web PKI之一的斗争在某种意义上我们默认信任太多的CA,其中任何一个都可以为任何资源提供证书,因此整个安全性只是你信任的商店中所有人中最弱的一个,无论你真正使用哪一个。)

DNS CAA记录早于DANE,也可用于表示允许哪些证书"对于给定的资源。

TLS提供多种好处,其中包括身份验证和完整性。它们是正交的,但与直觉相反,身份验证比完整性更重要(应该首先)(没有必要将内容保护到您未验证的一方)。 TLS中的身份验证通常(它不是唯一的方法)使用X.509证书(通常两次错误命名" SSL证书"),或者在一边,或者两者(在这方面它是一种对称的,每个端点可以根据需要验证另一个端点。)