gpt4 book ai didi

android - SSLSocketFactory 设置握手超时和套接字属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:38 32 4
gpt4 key购买 nike

我有一个协议(protocol),其中有一个升级到 SSL/TLS 的普通普通套接字。我需要能够控制处理 SSL 握手的超时以及其他参数,例如允许的协议(protocol)版本。 (例如关闭 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 创建了自己的上下文,因此设置默认值无济于事)。

最佳答案

对于特定的协议(protocol)选择,您是否在调用 startHandshake 之前尝试过 SSLSocket.setEnabledProtocols?

对于握手超时设置,您可以使用 SSLCertificateSocketFactory。

关于android - SSLSocketFactory 设置握手超时和套接字属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782157/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com