2

使用 Xamarin.Forms UWP 创建公司内部应用程序的具体要求是什么?我可以编译 *.appxbundle-Package 但由于证书错误,没有人可以安装它。如果我尝试使用来自 StartSSL 的普通代码签名证书对包进行签名,则会收到以下错误:

清单设计器无法导入证书。

您选择的证书对签名无效,因为它已过期或有其他问题。有关详细信息,请参阅: https ://go.microsoft.com/fwlink/?LinkID=241478

我们的其他桌面应用程序与 signtool 使用相同的证书,所以我猜证书没问题。将 signtool 用于其他 .NET 程序集,例如 WPF 项目:

"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /f "..\..\..\..\..\Finaltec\Framework\Signing.pfx" /p ... /tr "http://timestamp.globalsign.com/scripts/timestamp.dll" "$(TargetPath)"

签署 UWP 应用程序是否有任何特殊要求,以便任何人都可以安装它?使用的证书是 3 类 StartSSL 代码签名证书,有效期至 2020 年 6 月。如果我尝试使用从 Visual Studio 生成的测试证书安装应用程序,我会收到根证书不受信任的消息,并且安装进程将被取消。即使我在得到相同的结果错误之前安装了证书手册。

代码签名证书信息:

  • 名称: CVA Computer - Visualisierung und Animation GmbH
  • 地址:贝克博宁 2
  • 邮编,城市:31618 利伯瑙
  • 州,国家:德国下萨克森
  • 电话:+49-502398110
  • 电子邮件:info@cva.de
  • 到期日:2017-04-14

Package.appxmanifest 内容:

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
  <Identity Name="f736c883-f105-4d30-a719-4bf328872f5e" Publisher="CN=CVA Computer - Visualisierung und Animation GmbH" Version="1.0.1.0" />
  <mp:PhoneIdentity PhoneProductId="f736c883-f105-4d30-a719-4bf328872f5e" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
  <Properties>
    <DisplayName>CVA.COS_App</DisplayName>
    <PublisherDisplayName>CVA Computer - Visualisierung und Animation GmbH</PublisherDisplayName>
    <Logo>Assets\StoreLogo.png</Logo>
  </Properties>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
  </Dependencies>
  <Resources>
    <Resource Language="x-generate" />
  </Resources>
  <Applications>
    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="FPCL.WIndows.App">
      <uap:VisualElements DisplayName="CVA.COS_App" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="CVA.COS_App" BackgroundColor="#f4f4f4">
        <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png">
        </uap:DefaultTile>
        <uap:SplashScreen Image="Assets\SplashScreen.png" />
        <uap:InitialRotationPreference>
          <uap:Rotation Preference="portrait" />
          <uap:Rotation Preference="landscape" />
          <uap:Rotation Preference="portraitFlipped" />
          <uap:Rotation Preference="landscapeFlipped" />
        </uap:InitialRotationPreference>
      </uap:VisualElements>
    </Application>
  </Applications>
  <Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="privateNetworkClientServer" />
    <DeviceCapability Name="webcam" />
  </Capabilities>
</Package>
4

1 回答 1

0

如果我尝试使用来自 StartSSL 的普通代码签名证书对包进行签名,我收到以下错误

如果我们要唱 UWP 应用程序,则需要代码签名证书。您从 StartSSL 获得的证书用于客户端身份验证,您可以检查Enhanced Key Usage字段:

可用的代码签名证书:

在此处输入图像描述

StartSSL 的证书:

在此处输入图像描述

另请参阅:代码签名证书有什么特别之处?证书介绍

------2016 年 11 月 16 日更新------

请参阅https://go.microsoft.com/fwlink/?LinkID=241478上的验证证书部分

看起来这个证书违反了我加粗的句子:

验证 Enhanced Key Usage 属性的值,该属性必须包含代码签名并且还可能包含生命周期签名。禁止使用任何其他 EKU

他们的屏幕截图(下图)显示了增强的键 Codesignatur 和Kernelmodus-Codesignatur

截屏

于 2016-11-08T07:27:15.830 回答