Android javax.net.ssl.SSLHandshakeException:没有启用的协议

Android javax.net.ssl.SSLHandshakeException:没有启用的协议,android,ssl,https,angular2-nativescript,Android,Ssl,Https,Angular2 Nativescript,当我从我的nativscript应用程序调用http post到我的节点服务器时,我遇到了这个问题。我搞不懂这个错误消息是什么意思。我正在我的Android KitKat设备(API 19)上运行该应用程序 以下是我到目前为止在我的主要测试中尝试的内容:(编辑2) 该错误表明您需要启用SSLv3协议进行通信 转到您的jdk/jre/lib/security/java.security并从该列表中删除SSLv3协议 然后重新启动应用程序 我不同意。它只是说协议列表是空的。KitKat至少支持TLS

当我从我的nativscript应用程序调用http post到我的节点服务器时,我遇到了这个问题。我搞不懂这个错误消息是什么意思。我正在我的Android KitKat设备(API 19)上运行该应用程序

以下是我到目前为止在我的主要测试中尝试的内容:(编辑2)


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

转到您的jdk/jre/lib/security/java.security并从该列表中删除SSLv3协议


然后重新启动应用程序

我不同意。它只是说协议列表是空的。KitKat至少支持TLSv1.0,因此不需要启用SSLv3。此外,您的答案只适用于PC上的JRE/JDK,而不适用于Android。嗨@Abhijeet,我可以知道如何导航到该文件夹吗?我好像找不到它。谢谢
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)
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);
                }
            }));
    });
}