2010-10-27 78 views
0

我通过使用java keytool和RSA算法生成的证书在tomcat 6中配置了SSL机制,并且我可以使用HTTPS访问这些URL。SSL层中的数据是否被加密(128位加密)?

现在我有几个怀疑

  1. 虽然使用的是128位加密与服务器通信的客户端(浏览器到服务器或服务器到浏览器)中,数据也被加密?
  2. 如果独立应用程序正在与服务器进行通信,我是否只能获得加密数据?

请澄清我的疑惑。在此先感谢

回答

1
  1. 是的,一旦SSL连接已经协商(这是首先发生的),所有的数据(客户端和服务器)进行加密。

  2. 任何通过SSL安全通道进行通信的应用程序都将对其所有数据进行加密,并且(由于证书签名),它会相对确信它正在与其认为应该与之交谈的演员发言(即,它会有抵御MITM攻击的保护)。

+0

Thx寻求帮助我清除了基本的疑问......可以给我提供从独立应用程序进行HTTPS通信的示例实例如何进行证书交换?并且仅有可能获得加密数据?请在此帮忙。 thx – 2010-10-27 13:28:39

+0

任何支持HTTPS的HTTP客户端都可能具有合理的证书协商默认设置,并且还会为您提供自定义选项。举例来说,Python的SSL客户端允许您指定一个证书和您自己的可信CA列表。 – 2010-10-27 16:27:40

+0

我不确定你的意思是“只获取加密数据”......如果你的意思是“没有HTTP使用SSL”,那么是的 - 这很容易(尽管实现细节很大程度上取决于可用的库)。如果没有...请澄清。 – 2010-10-27 16:28:34

1

如果你有启用SSL的客户端连接(不管是浏览器,libcurl,或者别的什么)到任何端口已配置了SSL,您的整个通信路径将被加密。如果您尝试使用未启用SSL的客户端的HTTPS连接监听器,你会得到这样一个Bad Request的错误信息:

 
Your browser sent a request that this server could not understand. 
Reason: You're speaking plain HTTP to an SSL-enabled server port. 
Instead use the HTTPS scheme to access this URL, please. 

如果你真的担心,可以尝试使用像Wireshark东西,查看客户端和服务器之间的通信。

+0

使用Wireshark进行检查。好决定。 – 2010-10-27 16:29:04