测试 SSL 攻击 - 可以在 SSLException 之后提取服务器证书吗?
Test for SSL attacks - possible to extract certificate of server after SSLException?
为了一个项目,我想测试一下是否有人在篡改SSL连接。
HttpsUrlConnection
正在使用带有固定证书的 SSLContext
。
我的问题是:万一我收到 SSLException,例如有人试图伪造错误的证书,有什么方法可以获取有关该证书的详细信息吗?
在计算机上,使用浏览器(取决于浏览器和版本)我会收到证书警告,并可以选择查看有关证书的详细信息。
我想知道,是否有任何方法可以使用 HttpsUrlConnection
获得此信息,或者是否还有其他可能性?
getServerCertificates()
此时将不起作用,因为连接尚未建立,我看不到其他选项..
原来从AndroidSDK 22开始,抛出的异常已经包含了证书的详细信息。
我可以看到设备 运行 Android 21 会抛出 IOException
(主机名未验证),而 Android 22 会抛出 SSLPeerUnverifiedException
,还提供有关证书的详细信息。
为了一个项目,我想测试一下是否有人在篡改SSL连接。
HttpsUrlConnection
正在使用带有固定证书的 SSLContext
。
我的问题是:万一我收到 SSLException,例如有人试图伪造错误的证书,有什么方法可以获取有关该证书的详细信息吗?
在计算机上,使用浏览器(取决于浏览器和版本)我会收到证书警告,并可以选择查看有关证书的详细信息。
我想知道,是否有任何方法可以使用 HttpsUrlConnection
获得此信息,或者是否还有其他可能性?
getServerCertificates()
此时将不起作用,因为连接尚未建立,我看不到其他选项..
原来从AndroidSDK 22开始,抛出的异常已经包含了证书的详细信息。
我可以看到设备 运行 Android 21 会抛出 IOException
(主机名未验证),而 Android 22 会抛出 SSLPeerUnverifiedException
,还提供有关证书的详细信息。