java - 了解 HTTPS 的工作原理并对此进行查询?

标签 java ssl https

<分区>

我浏览了两个关于 HTTP 与 HTTPS 的很好的链接,即

  1. > http://en.wikipedia.org/wiki/HTTP_Secure
  2. > http://answers.yahoo.com/question/index?qid=20070604161212AAsnSFX

我已经提出了我的简单理解和一些疑问。这是理解:-

  1. 当我们从 http 转移到 https 时,我们必须修改网络应用程序,以便它在收到第一个请求时发送数字证书和响应。

  2. 我们必须修改的另一件事是 server.xml 以包含 keystore 位置(例如值是 .keystore)和密码。这个 keystore 实际上将包含将用于加密和 解密双方的数据,即服务器和客户端(浏览器)。

  3. 现在,当客户端发送第一个请求时,它会获得加密数据、证书和 key 。在此 key 的基础上,浏览器对数据进行解密和加密。 再次将其发送回客户端。一旦浏览器接受检查证书的真实性,它就会表明它是受信任的站点。

以上步骤是否正确?

如果是,为什么我们可以说黑客可以破解它。因为如果加密和解密发生在基础算法上(基于 .keystore 文件中的 key liying), 他们还可以在将请求发送到服务器时解密数据。如果浏览器可以使用该算法,为什么黑客不能呢?我同意它会增加一项额外的安全性 步骤,但它仍然可以被黑客攻击。只是一个想法?

最佳答案

大致的基础如下:

服务器有公钥和私钥。用一个加密的所有内容都只能用另一个解密。

根据请求,服务器发送公钥。

客户端创建一个 secret (想想随机数),用公钥加密并发回。

只有服务器才能解密。

服务器和客户端现在共享一个 secret ,它们可以用来加密来回传递的消息。

如果您想了解更多详细信息,我建议您使用 google SSL

关于java - 了解 HTTPS 的工作原理并对此进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9582302/

上一篇:android - Android 手机上的 SSL 错误/警告,但桌面浏览器上没有

下一篇:python - 如何使用 geopy 在 Anaconda 虚拟环境中禁用证书检查

相关文章:

java - java .properties 文件中的括号?

ssl - HSTS 过期如何运作

java - 从 JAVA 在线调用 Microsoft Dynamics CRM 2011

java - Jackson 意外字符 ('h'(代码 104)) : expected a valid value

java - 蜂窝数据上的 FTP 显式失败

ssl - 无法使用 SSL 找出 Kafka 中 inter.broker.listener.name 的设置

java - 测试我的应用程序是否接受远程服务器的 SSL 证书

带有 Visual Studio 2015 的 ASP.NET 网站 SSL

Apache 2.2 到 2.4 重定向太多

java - JNI -> 如何包装 c++ void*