使用Xamarin和Android Emulator进行SSL Web服务调用时,身份验证或解密失败

时间:2017-06-28 17:34:35

标签: android ssl xamarin

我正在开发一款Xamarin移动Android应用。对于数据访问,应用程序使用Portable类库对后端进行Web服务调用。我正在使用Portable类库,以便稍后可以与iOS版本的移动应用程序共享。数据是敏感的,并且对于在WebAPI Web服务项目中配置的所有通信都需要SSL。它使用oAuth进行身份验证。

我遇到的挑战是,当我在本地运行它时,初始化身份验证请求失败,并出现以下错误:

int array[] = {10,20,30}
for(unsigned int i=0; i<sizeof(array)/sizeof(array[0]); i++)
{
     v.push_back(array[i]);
}

其他一些信息: 我使用以下内置的Visual Studio模拟器和版本--Android_Accelerated_x86(Android 6.0 - API 23)。 我目前正在localhost上运行它,以下是此调用的代码片段:

System.Net.Http.HttpRequestException: An error occurred while sending the request
System.Net.WebException: Error: TrustFailure (The authentication or decryption has failed.)
System.IO.IOException: The authentication or decryption has failed. 

当我在localhost上通过Fiddler测试时,调用有效,所以我知道在Web服务端和身份验证上都能正确配置所有内容。但是从模拟器我的理解是我需要使用IP地址10.0.2.2。我已经创建了一个自签名证书,但似乎没有帮助。

我也尝试过使用Fiddler作为中间人,但是当我在本地运行应用程序时,我没有看到Fiddler中的任何活动。我还尝试更改模拟器的网络设置,但似乎没有任何影响。基本模拟器在这些设置中似乎相当有限,但我也不想在此时支付更高级的模拟器。我看过很多类似问题的帖子,但我发现的现有建议都没有帮助。任何帮助将不胜感激!

0 个答案:

没有答案