可以将azure发布设置证书可靠地导入到windows phone 8.1应用程序中

时间:2014-07-15 08:34:43

标签: c# azure ssl x509certificate windows-phone-8.1

我想在我的Windows Phone 8.1上使用azure rest服务,但是当我尝试将访问证书从.publishsettings文件导入应用程序证书存储区时,我碰壁了。

据我所知,从Windows Phone 8.1上的文件导入编码的x.509证书的唯一方法(由于System.Security.Cryptography.X509Certificates-命名空间不可用)是使用此方法这里

await CertificateEnrollmentManager.ImportPfxDataAsync(string, 
    string,
    ExportOption,
    KeyProtectionLevel, 
    InstallOptions, 
    string);

MSDN documentation

我的问题是这种方法在Windows Phone 8.1上看起来非常不可靠!有时我可以在导入后找到证书,通常我不能。当我尝试将第二个或第三个证书添加到证书库时,情况会变得更糟。

有趣的是,在重新启动应用程序后,我有时可以找到上次会话中导入的证书,这是我在会话中找不到的。

我尝试在不同的设备上排除硬件作为原因。

相同的代码在Windows 8.1 store-app上运行正常,使用此方法导入后,始终可以找到发布设置的证书。

我上传了一个样本VS2013解决方案,其中包含一个用于Windows Phone 8.1应用程序的项目以及一个用于Windows 8.1 store-app的项目。只需运行该应用程序,单击add-publish.settings按钮,下载.publishsettings文件并使用该应用程序打开它以重现该问题。 (要删除证书,只需卸载应用程序)。执行的代码是复制粘贴,没有区别。可以找到in my dropbox.

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在Windows Phone 8.1版本中看起来有一个错误的实现。 最新更新解决了这个问题。