测试SSL攻击 - 可能在SSLEXCEPTION后提取服务器证书



对于一个项目,我想测试是否有人篡改SSL连接。HttpsUrlConnection使用的是用固定证书的SSLContext

我的问题是:如果我得到 sslexception ,例如。有人试图伪造错误的证书,是否有任何方法可以获取有关该证书的详细信息?

在计算机上,使用浏览器(取决于浏览器和版本),我将获得证书警告,并可以选择查看有关证书的详细信息。

我想知道,是否有任何方法可以使用HttpsUrlConnection或其他可能性? getServerCertificates()目前将无法使用,因为尚未建立连接,我没有其他选项。

事实证明,从Android SDK 22开始,抛出的例外已经包括有关证书的详细信息。

我可以目睹运行Android 21的设备会抛出IOException(未经验证的主机名),而Android 22也抛出了SSLPeerUnverifiedException,也提供了有关证书的详细信息。

最新更新