我希望这不是重复。 我目前正在研究基于netty的客户端服务器游戏和Android上的客户端。我正在尝试建立一个安全的登录过程,所以我尝试在java socket上使用ssl。
我设法创建了一个自签名证书并使用了SSL。问题是我找到的示例源代码使用à自定义TrustManagerFactory,它不对证书有效性进行任何检查。由于我不想允许Man In The Middle攻击,我搜索了有关SSL握手的更多信息,这是我理解的:
我不需要接受来自我自己服务器以外的任何人的证书,所以我想到了2个解决方案:
我对CA身份验证的理解是:
因此,如果我没有误解所有这些,如果我想实施我的第二个解决方案,我需要向客户提供CA证书,以便他可以检查证书。我已经看到可以使用信任库初始化TrustManager。我认为它必须是与根CA不同的证书,因为它的整体安全性取决于我的CA私钥的机密性。所以我的问题是:
提前感谢。
答案 0 :(得分:0)
我只能回答你的部分问题:
修改强>
一个好的句子:
http://nelenkov.blogspot.com/2011/12/using-custom-certificate-trust-store-on.html