2021-05-26

更新了http请求为https后,执行https请求时报错

2021-05-26 18:08:19.705 17359-17444/org.securesms D/PushServiceSocket: Opening URL: https://wallet-server-pre.coming.chat/api/v1/coin/priceAndUsable/5H3U6wPpe5Hi6ozX5LEcAszJ81KY4afHc2jeUxJcSmUShVks
2021-05-26 18:08:19.705 17359-17444/org.securesms D/PushServiceSocket: Opening URL: <REDACTED>
2021-05-26 18:08:19.736 17359-17359/org.securesms D/LoggingFragment: [MyWalletFragment] onStart()
2021-05-26 18:08:19.737 17359-17583/org.securesms D/PushServiceSocket: Opening URL: https://wallet-server-pre.coming.chat/api/v1/transfer/XBTC/record?phone=%2B8619957106123&hashList=False
2021-05-26 18:08:19.737 17359-17583/org.securesms D/PushServiceSocket: Opening URL: <REDACTED>
2021-05-26 18:08:20.366 17359-17444/org.securesms W/System.err: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: java.net.UnknownServiceException: Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec()], supported protocols=[TLSv1.3, TLSv1.2]
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.getWalletServiceConnection(PushServiceSocket.java:1646)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeWalletServiceRequest(PushServiceSocket.java:1540)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeWalletServiceBodyRequest(PushServiceSocket.java:1529)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeWalletServiceRequest(PushServiceSocket.java:1442)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeWalletServiceRequest(PushServiceSocket.java:1424)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.getExchangeRateAndBalance(PushServiceSocket.java:2428)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.whispersystems.signalservice.api.SignalServiceAccountManager.getExchangeRateAndBalance(SignalServiceAccountManager.java:781)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.securesms.wallet.WalletRequest$4.doInBackground(WalletRequest.java:288)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at org.securesms.wallet.WalletRequest$4.doInBackground(WalletRequest.java:282)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at android.os.AsyncTask$3.call(AsyncTask.java:394)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2021-05-26 18:08:20.367 17359-17444/org.securesms W/System.err:     at java.lang.Thread.run(Thread.java:923)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err: Caused by: java.net.UnknownServiceException: Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec()], supported protocols=[TLSv1.3, TLSv1.2]
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.ConnectionSpecSelector.configureSecureSocket(ConnectionSpecSelector.java:74)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:313)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:284)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:169)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
2021-05-26 18:08:20.368 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at org.securesms.net.DeviceTransferBlockingInterceptor.intercept(DeviceTransferBlockingInterceptor.java:38)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at org.securesms.net.DeprecatedClientPreventionInterceptor.intercept(DeprecatedClientPreventionInterceptor.java:36)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at org.securesms.net.RemoteDeprecationDetectorInterceptor.intercept(RemoteDeprecationDetectorInterceptor.java:22)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at org.securesms.net.UserAgentInterceptor.intercept(UserAgentInterceptor.java:20)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at okhttp3.RealCall.execute(RealCall.java:93)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err:     at org.signalservice.internal.push.PushServiceSocket.getWalletServiceConnection(PushServiceSocket.java:1639)
2021-05-26 18:08:20.369 17359-17444/org.securesms W/System.err: 	... 13 more

原因:创建的url设置的ConnectionSpec是只支持TLS 1.2:

  private static final ConnectionSpec GMAIL_CONNECTION_SPEC = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
      .tlsVersions(TlsVersion.TLS_1_2)
      .cipherSuites(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                    CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                    CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
                    CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
                    CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                    CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
                    CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
                    CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
                    CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA)
      .supportsTlsExtensions(true)
      .build();


	private static final ConnectionSpec APP_CONNECTION_SPEC = ConnectionSpec.MODERN_TLS;
 
	...
	
    final SignalWalletUrl signalWallet       = new SignalWalletUrl(BuildConfig.WALLET_URL, SERVICE_REFLECTOR_HOST, signalServiceTrustStore, GMAIL_CONNECTION_SPEC);

	...

而请求的服务器https连接只支持TLS 1.3,浏览器上查看:
在这里插入图片描述
创建SignalWalletUrl时改为使用APP_CONNECTION_SPEC:

   final SignalWalletUrl signalWallet       = new SignalWalletUrl(BuildConfig.WALLET_URL, SERVICE_REFLECTOR_HOST, signalServiceTrustStore, APP_CONNECTION_SPEC);

或者使用默认的:

  final SignalWalletUrl signalWallet       = new SignalWalletUrl(BuildConfig.WALLET_URL, new SignalServiceTrustStore(context));

android okhttp设置支持的tls协议版本

参考:
Android 设置客户端支持的TLS支持的版本号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值