gpt4 book ai didi

android - 为什么 getEnabledProtocols() 返回 TLS v1 而不是 TLSv1.2?

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:29 25 4
gpt4 key购买 nike

我是从this知道的发布 JB 支持 TLSv1.2。当我运行以下测试代码时,现在我进退两难。我得到的支持协议(protocol)是 TLS1.0 而不是 TLSv1.2。做错什么了吗?

public class SSLTest extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ssltest);
SSLSocketFactory mSslSocketFactory = null;
SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("Default");
} catch (NoSuchAlgorithmException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
mSslSocketFactory = sslContext.getSocketFactory();
SSLSocket sock = null;
try {
sock = (SSLSocket)mSslSocketFactory.createSocket();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] prots = sock.getEnabledProtocols();
for(int i=0;i<prots.length;i++){
Log.d("TEMP","$$$$$$$$$$$$$$$$$$$$$$$ ::: " + prots[i]);
}
SSLParameters sslp = sock.getSSLParameters();
String[] newprots = sslp.getProtocols();
for(int i=0;i<newprots.length;i++){
Log.d("TEMP","$$$$$$$$$$$$$$$$$$$$$$$ ::: " + newprots[i]);
}
}

输出:

10-11 11:57:53.280: D/TEMP(7928): $$$$$$$$$$$$$$$$$$$$$$$ ::: SSLv3
10-11 11:57:53.280: D/TEMP(7928): $$$$$$$$$$$$$$$$$$$$$$$ ::: TLSv1
10-11 11:57:53.280: D/TEMP(7928): $$$$$$$$$$$$$$$$$$$$$$$ ::: SSLv3
10-11 11:57:53.280: D/TEMP(7928): $$$$$$$$$$$$$$$$$$$$$$$ ::: TLSv1

最佳答案

您混淆了启用支持。协议(protocol)受支持并不意味着它在默认情况下处于启用状态。

如果您想使用 TLS 1.2,请先使用 setEnabledProtocols 启用它,如果它在 getSupportedProtocols 中受支持,它应该可以工作。

关于android - 为什么 getEnabledProtocols() 返回 TLS v1 而不是 TLSv1.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846593/

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