我正在尝试使用SSL实现RFB以进行身份验证和加密。
但是SSL需要证书(我自那以后就没有证书) 正在通信的PC和Android,没有中间服务器。)
我不需要服务器身份验证而不需要服务器身份验证,我需要客户端 身份验证,如何在不使用证书的情况下获取它。
如果没有办法摆脱证书,是否可能 在PC和Android之间进行通信时使用证书, 如果是,那怎么样?
在项目中期迷路,任何人都可以指导我吗?寻求解决方案,但没有运气。
提前致谢。
答案 0 :(得分:0)
如果您希望使用SSL进行安全性,则需要服务器身份验证(您可以反转客户端/服务器的角色,即将SSL服务器作为TCP客户端,反之亦然,但这可能过于复杂)。
如果您控制应用程序,服务器上的自签名证书就可以正常工作。如果您还想要客户端证书身份验证,也可以为您的客户端提供一个。为您的应用程序构建一个小型CA可能更方便。有一些工具可以帮助解决这个问题,例如OpenSSL的CA.pl
或TinyCA。
生成服务器证书后,您需要将客户端配置为信任它。不要使用信任任何内容的TrustManager
(您可能会遇到一些示例代码,包括此处的SO):这会破坏身份验证的目的,并使您的SSL连接容易受到MITM攻击。