我想在我的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);
我的问题是这种方法在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.
有谁知道如何解决这个问题?
答案 0 :(得分:1)
在Windows Phone 8.1版本中看起来有一个错误的实现。 最新更新解决了这个问题。