在Xamarin PCL Android中更正客户端证书的路径

时间:2015-06-30 09:26:41

标签: android path xamarin xamarin.forms webrequest

我想从我的应用程序中创建一个WebRequest,我需要添加一个客户端证书。 在我的普通C#解决方案中,我使用以下两行:

X509Certificate myCert = X509Certificate.CreateFromCertFile(certPath);
request.ClientCertificates.Add(myCert);

问题是我不知道我应该在我的应用程序中使用什么作为“certPath”。 我正在做一个Xamarin.Forms PCL项目并在Android上测试它。 我发现对于Android我必须将文件放入我的项目的Assets文件夹中,但我不知道方法参数的正确路径是什么。 我对WebRequest的实现是在Android特定部分。

1 个答案:

答案 0 :(得分:0)

好的,我还没有获得项目中文件的路径,但我找到了另一个解决方案:

  1. 从设备/模拟器的目录中获取应用的任何路径 可能得到它:

    e.g。 System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

  2. 通过DDMS手动将证书复制到设备/模拟器(in Android设备监视器) - 完全进入显示的路径 上面的方法。

  3. 使用此路径,包括您为其复制的文件名 证书路径。

  4. 我还发现,对我来说,如果它是pkcs12格式的证书似乎不适用于xamarin,但我不知道为什么。我把它改成了pem。

    我认为"导入"将证书保存在密钥库或类似内容中并删除文件所需的证书,但我还没那么远。