gpt4 book ai didi

android - javax.net.ssl.SSLHandshakeException : No enabled protocols

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:01 26 4
gpt4 key购买 nike

当我从我的 nativscript 应用程序调用 http post 到我的节点服务器时,我遇到了这个问题。我无法弄清楚此错误消息的含义。我正在我的 Android KitKat 设备 (API 19) 上运行该应用程序。

System.err: javax.net.ssl.SSLHandshakeException: No enabled protocols; SSLv3 is no longer supported and was filtered from the list
System.err: at com.google.android.gms.org.conscrypt.SslWrapper.initialize(:com.google.android.gms@12521003@12.5.21 (000306-189987672):7)
System.err: at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@12521003@12.5.21 (000306-189987672):6)
System.err: at com.google.android.gms.org.conscrypt.KitKatPlatformOpenSSLSocketImplAdapter.startHandshake(:com.google.android.gms@12521003@12.5.21 (000306-189987672))
System.err: at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
System.err: at com.android.okhttp.Connection.connect(Connection.java:107)
System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
System.err: at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
System.err: at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
System.err: at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)
System.err: at org.nativescript.widgets.Async$Http$HttpRequestTask.doInBackground(Async.java:543)
System.err: at org.nativescript.widgets.Async$Http$1.run(Async.java:482)
System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
System.err: at org.nativescript.widgets.Async$PriorityThreadFactory$1.run(Async.java:52)
System.err: at java.lang.Thread.run(Thread.java:841)

到目前为止,这是我在 main.ts 中尝试的内容:(Edit2)

import { platformNativeScriptDynamic } from "nativescript-angular/platform";

import { AppModule } from "./app.module";

import { android as androidApp, AndroidApplication, AndroidActivityBundleEventData } from "application";
import { ad } from "utils/utils";

declare let com: any;

if (androidApp) {
const context = ad.getApplicationContext();

androidApp.on(AndroidApplication.activityCreatedEvent, function (args: AndroidActivityBundleEventData) {
let builder = new android.os.StrictMode.VmPolicy.Builder();
android.os.StrictMode.setVmPolicy(builder.build());

// Needed for corner cases with HTTP request using TSL on Android API19
com.google.android.gms.security.ProviderInstaller.installIfNeededAsync(
context,
new com.google.android.gms.security.ProviderInstaller.ProviderInstallListener({
onProviderInstalled: () => {
console.log("Provider Installed!");
const sslContext = javax.net.ssl.SSLContext.getInstance("TLSv1.2");
sslContext.init(null, null, null);
const engine = sslContext.createSSLEngine();
},
onProviderInstallFailed: (errorCode, intent) => {
console.log("Error: " + errorCode);
}
}));
});
}

最佳答案

该错误表明您需要启用 SSLv3 协议(protocol)进行通信。

转到您的 jdk/jre/lib/security/java.security 并从 jdk.tls.disabledAlgorithms 此列表中删除 SSLv3 协议(protocol)。

然后重启应用!!!

关于android - javax.net.ssl.SSLHandshakeException : No enabled protocols,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49839353/

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