我想从我的应用程序中创建一个WebRequest,我需要添加一个客户端证书。 在我的普通C#解决方案中,我使用以下两行:
X509Certificate myCert = X509Certificate.CreateFromCertFile(certPath);
request.ClientCertificates.Add(myCert);
问题是我不知道我应该在我的应用程序中使用什么作为“certPath”。 我正在做一个Xamarin.Forms PCL项目并在Android上测试它。 我发现对于Android我必须将文件放入我的项目的Assets文件夹中,但我不知道方法参数的正确路径是什么。 我对WebRequest的实现是在Android特定部分。
答案 0 :(得分:0)
好的,我还没有获得项目中文件的路径,但我找到了另一个解决方案:
从设备/模拟器的目录中获取应用的任何路径 可能得到它:
e.g。 System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
通过DDMS手动将证书复制到设备/模拟器(in Android设备监视器) - 完全进入显示的路径 上面的方法。
使用此路径,包括您为其复制的文件名 证书路径。
我还发现,对我来说,如果它是pkcs12格式的证书似乎不适用于xamarin,但我不知道为什么。我把它改成了pem。
我认为"导入"将证书保存在密钥库或类似内容中并删除文件所需的证书,但我还没那么远。