【问题标题】:Correct path for a client certificate in Xamarin PCL AndroidXamarin PCL Android 中客户端证书的正确路径
【发布时间】:2015-06-30 09:26:40
【问题描述】:

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

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

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

【问题讨论】:

  • 我不太明白你在问什么。你说你发现你必须把它放在 Assets 文件夹中,所以你还想知道什么?还是找不到文件?看看这个; developer.xamarin.com/guides/android/application_fundamentals/…
  • 我对 AssetManager 的理解是它可以访问文件(例如读取文件)。但是对于我上面的方法,我需要资产目录中文件的“文件名”(完整路径)才能到达这个文件,我不知道如何获取这个路径

标签: android path xamarin xamarin.forms webrequest


【解决方案1】:

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

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

    例如System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

  2. 通过 DDMS(在 Android 设备监视器) - 完全进入由 上面的方法。

  3. 使用此路径,包括您为 证书路径。

我还发现,对于我来说,如果证书是 pkcs12 格式,它似乎不适用于 xamarin,但我不知道为什么。我已将其转换为 pem。

我认为在“导入”证书之后,有必要将其保存在密钥库或类似的东西中并删除文件,但我还没有那么远。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多