【问题标题】:Choosing a certificate for a Windows Store application via the package.appxmanifest通过 package.appxmanifest 为 Windows 应用商店应用程序选择证书
【发布时间】:2014-03-11 08:54:45
【问题描述】:

为了可以通过 Intune 在内部分发 WinRT 应用程序,我需要按照 http://msdn.microsoft.com/en-us/library/windows/apps/br230260(v=vs.110).aspx 附加证书

我进入package.appxmanifest屏幕,点击选择证书->配置证书->从文件中选择。我双击相关证书,然后输入密码。然后我收到错误消息“清单设计器无法导入证书。您选择的证书对签名无效,因为它已过期或有其他问题。有关更多信息,请参阅 http://go.microsoft.com/fwlink/ ?linkId = 241478",与我之前链接的页面相同。

或者,我将证书导入本地存储,在 package.appxmanifest 单击选择证书-> 配置证书-> 从证书存储中选择。然后我收到错误消息“没有可用的证书。没有证书符合申请条件。单击确定继续”。

我该如何解决这个问题?

【问题讨论】:

    标签: windows-runtime windows-store-apps code-signing


    【解决方案1】:

    事实证明,根据我之前发布的链接,增强密钥用法中指定的证书用法真的很挑剔。

    在打包过程中,Visual Studio 验证指定的证书 有以下几种方式:

    • 验证是否存在基本约束扩展及其值,该值必须是 Subject Type=End Entity 或未指定。
    • 验证增强密钥使用属性的值,该属性必须包含代码签名,也可能包含生命周期签名。任何其他 禁止使用 EKU。
    • 验证 KeyUsage (KU) 属性的值,该值必须是 Unset 或 DigitalSignature。
    • 验证是否存在私钥。
    • 验证证书是否处于活动状态、未过期且未被吊销。

    我错误地认为,通过转到 证书属性 - 证书用途 - 仅启用以下属性 并取消选中为此目的无效的属性(即除代码签名之外的所有属性),我可以使用证书我们已经有了。这行不通。

    我通过获取仅将代码签名作为增强密钥用法的证书解决了我的问题。

    【讨论】:

    • 你能告诉你解决这个问题的步骤吗?
    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 2017-08-04
    • 2021-03-19
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2012-10-08
    • 2014-09-22
    相关资源
    最近更新 更多