Windows runtime 通过package.appxmanifest为Windows应用商店应用程序选择证书

Windows runtime 通过package.appxmanifest为Windows应用商店应用程序选择证书,windows-runtime,windows-store-apps,code-signing,Windows Runtime,Windows Store Apps,Code Signing,为了使WinRT应用程序可以通过Intune在内部分发,我需要根据 我转到package.appxmanifest屏幕,单击选择证书->配置证书->从文件中选择。我双击相关证书,然后键入密码。然后,我收到错误消息“清单设计器无法导入证书。您选择的证书无效,无法签名,因为它已过期或存在其他问题。有关详细信息,请参阅http://go.microsoft.com/fwlink/?linkId=241478”,这与我先前链接的页面相同 或者,我将证书导入本地存储,在package.appxmanife

为了使WinRT应用程序可以通过Intune在内部分发,我需要根据

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

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


如何解决这个问题?

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

打包期间,Visual Studio将在中验证指定的证书 以下方法:

  • 验证基本约束扩展及其值是否存在,该值必须为Subject Type=End Entity或unspecified
  • 验证增强型密钥使用属性的值,该属性必须包含代码签名,还可能包含生存期签名。任何其他 EKUs是被禁止的
  • 验证KeyUsage(KU)属性的值,该属性必须为未设置或数字签名
  • 验证私钥是否存在
  • 验证证书是否处于活动状态、是否已过期以及是否已吊销
我曾错误地认为,通过转到证书属性-证书目的-仅启用以下属性并取消选中对此目的无效的属性(即除代码签名外的所有属性),我可以使用我们已经拥有的证书。那不行


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

根据我之前发布的链接,事实证明它对增强密钥使用中指定的证书使用非常挑剔

打包期间,Visual Studio将在中验证指定的证书 以下方法:

  • 验证基本约束扩展及其值是否存在,该值必须为Subject Type=End Entity或unspecified
  • 验证增强型密钥使用属性的值,该属性必须包含代码签名,还可能包含生存期签名。任何其他 EKUs是被禁止的
  • 验证KeyUsage(KU)属性的值,该属性必须为未设置或数字签名
  • 验证私钥是否存在
  • 验证证书是否处于活动状态、是否已过期以及是否已吊销
我曾错误地认为,通过转到证书属性-证书目的-仅启用以下属性并取消选中对此目的无效的属性(即除代码签名外的所有属性),我可以使用我们已经拥有的证书。那不行


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

您能告诉我们如何解决此问题的步骤吗?您能告诉我们如何解决此问题的步骤吗?