在一个Android项目中,我想使用SignalR,并保护通信。现在,测试服务器已在Azure上设置(SignalR服务+应用程序服务)。 Azure还不支持TLS 1.3,可能我们在生产中使用的最终服务器也将只有TLS 1.2。
SignalR的Java客户端是否支持TLS 1.2?如果是这样,如何启用它?
当我将中心URL更改为以https
开头时,出现错误:
Connection failed to start: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x7c42a3fac0: Failure in SSL library, usually a protocol error
error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER (external/boringssl/src/ssl/tls_record.cc:239 0x7c405330ab:0x00000000)
我发现old SignalR Java client仅支持TLS 1.3,但是此存储库已存档,in the new client我对协议版本没有任何限制。
如果较新版本支持TLS 1.2,为什么会出现此错误?
我正在测试的手机具有Android API 25级。Gradle配置的相关部分:
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 16 // Also tried with 20+
targetSdkVersion 29
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.microsoft.signalr:signalr:3.0.0'
}