Android React本机Exo-av证书固定

时间:2019-12-12 00:05:22

标签: android react-native expo exoplayer2.x

android:问, 反应本机:0.60 expo-sdk .35 +

我们的应用使用带有自签名证书的证书固定。

这一切都很好地与React本机一起使用,因为React本机提供了一个钩子来指定自定义OkHttp客户端,该客户端管理固定证书。 与此处提供的示例非常相似 https://medium.com/@jaedmuva/react-native-ssl-pinning-is-back-e317e6682642

<Image source='https://domain.withcert.com/image.jpg' />之类的东西在此模型下可以很好地工作,作为本机反应,使用其底层okhttp机制,依靠我们管理证书的自定义提供的OkHTTp客户端。

现在,我们正在添加音频(通过Expo-AV)。 Expo-AV使用Android Exoplayer2音频库。 该音频库向我们的服务器发出https请求,例如。 https://domain.withcert.com/sound.mp3 https握手失败,并显示为

  

'错误:   com.google.android.exomplayer2.upstream.HttpDataSource $ HttpDataSourceExcception:   无法连接到https://domain.withcert.com/sound.mp3'

因为我们服务器的https使用自签名证书。

我们的Android客户端已固定了该证书的公开部分-但是,我们找不到指示Expo-Av(因此,是Android的Exoplayer2)使用该证书的方法。

ExoPlayer2使用与React-Native,OkHTTP相同的库。 但是,与react-native不同,Expo-AV不会指示Android的ExoPlayer使用React-Native覆盖的OkHTTP客户端。 (或者至少在查看expo-av Android源代码时看不到)。

是否有其他方法可以克服此限制? 例如,有一种方法可以覆盖整个应用程序的Android客户端全局HTTPS证书处理,而不是针对特定的OkHTTP客户端实例或特定的HttpsURLconnection覆盖HTTPS证书处理(因为我们的应用程序无法访问特定的REST查询构造机制) ExoPlayer2)

0 个答案:

没有答案