c# - 无法将可靠的天蓝色发布设置证书导入Windows Phone 8.1应用

原文 标签 c# azure ssl x509certificate windows-phone-8.1

我想使用Windows Phone 8.1上的Azure Rest服务,但在尝试将访问证书从.publishsettings-file导入应用程序证书存储中时碰壁。

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

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应用商店的项目。只需运行该应用程序,单击add-publish.settings按钮,下载您的.publishsettings文件,然后使用该应用程序将其打开即可重现该问题。 (要删除证书,只需卸载应用程序即可)。执行的代码是复制粘贴,没有区别。可以找到in my dropbox.

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

最佳答案

Windows Phone 8.1发行版中似乎存在错误的实现。
最新更新解决了该问题。

相关文章:

wordpress - 如何通过https更改主题图像?

symfony - 使用Amazon Load Balancer和SSL的Symfony2:isSecure()检查时出错

c# - 名称“XYZ”在名称空间“clr-namespace:ABC”中不存在

c# - 如何在ObservableCollection <T>上执行foreach lambda表达式?

azure - 将Azure Service Bus与Android连接

javascript - 如何获取通过Node.js上传到Azure存储的文件的URL?

java - 将证书导入Spring的问题

c# - 如何从C#计时MongoQuery

c# - 从嵌套类中获取周围类的名称

c# - DateTime.Now提供了不正确的时间