我有一个协议,其中有一个普通的普通套接字升级到SSL/TLS.我需要能够控制处理SSL握手的超时以及其他参数,例如允许的协议版本.(例如关闭SSLv3).
除了握手超时之外你可以做所有这些javax.net.ssl.SSLSocketFactory,你可以调用createSocket(socket, host port, autoClose),设置返回的附加设置SSLSocket,然后调用startHandshake握手.但似乎没有任何方法可以设置握手超时设置,默认设置相当小.
永远不要害怕,android.net.SSLCertificateSocketFactory就在这里!,这可以让你控制握手超时设置,但它也改变了createSocket(socket, host, port, autoClose)做实际握手的行为,所以当你把SSLSocket从工厂拿回来时,为时已晚,无法做其他事情.会影响握手(如关闭SSLv3).
有两种方法可以做到吗?我需要能够在Api v8上做到这一点
(SSLContext/SSLParameters看起来可能有用但是Api v9,但它看起来也像SSLCertificateSocketFactory创建自己的上下文,因此设置默认值将无济于事).
Vad*_*iak -1
对于特定的协议选择,您在调用 startHandshake 之前是否尝试过 SSLSocket.setEnabledProtocols ?
对于握手超时设置,您可以使用 SSLCertificateSocketFactory。
| 归档时间: |
|
| 查看次数: |
2970 次 |
| 最近记录: |