繁体   English   中英

Stripe不再支持Xamarin Android中使用TLS 1.0发出的API请求?

[英]Stripe no longer supports API requests made with TLS 1.0 in Xamarin Android?

我正在使用Xamarin Android。 我正在实现条纹以进行支付,但是当我按下Stripe API时,捕获了以下异常

Stripe不再支持使用TLS 1.0发出的API请求。 请使用TLS 1.2或更高版本启动HTTPS连接。

如何消除错误?

PS在Xamarin IOS中,相同的代码可以正常工作。

这是我的代码:

    async Task<StripeCustomer> GetCustomer(string cId)
        {
        AppLog.WriteLogD(TAG, "Getting Customer...");
        var customerService = new StripeCustomerService();
        StripeCustomer stripeCustomer = null;
        try
        {
            Task<StripeCustomer> getCustomerTask = customerService.GetAsync(cId);
            stripeCustomer = await getCustomerTask;
            //Console.WriteLine(stripeCustomer.StripeResponse.ResponseJson);
            AppLog.WriteLogD(TAG, "Customer: " + stripeCustomer.Description, "(" + stripeCustomer.Email + ")");
        }
        catch (StripeException e)
        {
        AppLog.WriteLogD(TAG, "Error Type:" + e.StripeError.ErrorType);
            AppLog.WriteLogD(TAG, "Message:: " + e.StripeError.Message);
        }
        return stripeCustomer;
    }

根据Android文档, API级别16或更高版本支持TLS 1.2

要激活它,您应该:

  1. 将最低Android版本设置为API级别16
  2. 在项目设置-> Android参数-> SSL / TLS实现中将SSL / TLS实现设置为1.2

我可以通过以下方式解决此问题:

  1. 转到项目选项
  2. 在“常规”选项卡中,将HttpClient实施设置为AndroidClient Handler,将SSL / TLS实施设置为本机TLS 1.2+,这是默认选项,但是如果您已切换到TLS 1.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM