2016-03-01 153 views
0

我使用加密的tcp连接在java中编写一个聊天系统。加密聊天java

据我所知,我必须使用SSL套接字,但除此之外,代码与没有加密的普通聊天系统有什么不同?所以除了SSL对象外,还有什么我需要考虑的吗?

感谢您的帮助

回答

1

SSL是一种传输层安全协议。它将确保您的数据包不会被窃听者识别(中间的人)。

我建议你也加入你自己的应用层安全性,例如验证你正在与之通话的人。

+0

我知道SSL做什么(我研究过密码学和互联网系统)。如果我的问题没有得到正确的答复,我很抱歉。我想说的是,在客户端和服务器类中,除了SSL对象之外,还有什么其他的东西需要与不需要tcp加密的普通客户端和服务器类不同。我读了一些关于批准的证书或激活证书的内容,但不太清楚这意味着什么。有什么建议么? – Guest

+0

您指的是经过验证且受信任的证书颁发机构(如verizon,godaddy或commodo)进行的SSL证书签名。您的SSl证书(以及您正在联系的一方)确实可以进行自签名,并且它也会一样安全。证书签名的重点是AUTHENTICITY而不是安全。换句话说,由知名CA签署的证书被证明不属于冒充其他人的邪恶实体。例如,对于托管电子商务网站的网络服务器而言,这一点非常重要。如果一个坏人拥有一个自签名证书,你将会安全地交出你的信息 – ForeverStudent

+0

一个自签名的SSL证书将为你提供很好的服务,但是由于你正在开发一个带有TCP套接字的应用程序,你将需要拥有自己的**应用程序层**安全协议就位。例如作为应用层协议的HTTP可以使用HTTP基本认证或HTTP摘要认证。 – ForeverStudent