awslabs / amazon-kinesis-video-streams-webrtc-sdk-android

Android SDK for interfacing with Amazon Kinesis Video Streams Signaling Service.
Apache License 2.0
58 stars 37 forks source link

SSL connection error in android happening randomly as it unable to resolve Host when trying to get describe channel #98

Closed farhan56secure closed 3 weeks ago

farhan56secure commented 10 months ago

Hi,

When started android app as viewer SSL exception is leading to a crash in case of trying to describe channel details in kinessis video stream with exception Hostname kinesisvideo.ap-south-1.amazonaws.com not verified:

val describeSignalingChannelResult = awsKinesisVideoClient?.describeSignalingChannel( DescribeSignalingChannelRequest() .withChannelName(channelName) ) channelArn = describeSignalingChannelResult?.channelInfo?.channelARN.toString()

Attaching exception for reference. com.amazonaws.AmazonClientException: Unable to execute HTTP request: Hostname kinesisvideo.ap-south-1.amazonaws.com not verified: certificate: sha1/<Hash> DN: CN=kinesisvideo.ap-south-1.amazonaws.com subjectAltNames: [kinesisvideo.ap-south-1.amazonaws.com] at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:456) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:229) at com.amazonaws.services.kinesisvideo.AWSKinesisVideoClient.invoke(AWSKinesisVideoClient.java:2077) at com.amazonaws.services.kinesisvideo.AWSKinesisVideoClient.describeSignalingChannel(AWSKinesisVideoClient.java:930) at com.android56.app.onecam.kvs.SignallingDataCreator.updateSignallingChannelInfoTask(SignallingDataCreator.kt:158) at com.android56.app.onecam.kvs.SignallingDataCreator$updateSignallingChannelInfoTask$1.invokeSuspend(Unknown Source:15) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@fb144, Dispatchers.IO] Caused by: javax.net.ssl.SSLPeerUnverifiedException: Hostname kinesisvideo.ap-south-1.amazonaws.com not verified: certificate: sha1/<Hash>= DN: CN=kinesisvideo.ap-south-1.amazonaws.com subjectAltNames: [kinesisvideo.ap-south-1.amazonaws.com] at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:1480) at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:1415) at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:1359) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:221) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:144) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:106) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:400) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:333) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:483) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:135) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:266) at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219) at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30) at com.google.firebase.perf.network.InstrURLConnectionBase.getOutputStream(InstrURLConnectionBase.java:165) at com.google.firebase.perf.network.InstrHttpsURLConnection.getOutputStream(InstrHttpsURLConnection.java:89) at com.amazonaws.http.UrlHttpClient.writeContentToConnection(UrlHttpClient.java:162) at com.amazonaws.http.UrlHttpClient.execute(UrlHttpClient.java:75) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:386)

niyatim23 commented 3 weeks ago

We have a new release for the SDK, can you please check if you are able to reproduce the issue with v1.1.0

niyatim23 commented 3 weeks ago

Closing due to inactivity. Feel free to reopen if the issue persists