标签: appx

Signtool错误:没有找到符合Windows Store应用程序所有给定条件的证书?

所以,我正在尝试使用我拥有的pfx文件签署Windows 8 appx包.我正在使用这样的命令:

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"
Run Code Online (Sandbox Code Playgroud)

从此,我得到:

SignTool错误:未找到符合所有给定条件的证书.

我没有遇到什么"标准"?这仅用于测试,因此这些是自签名证书.我已经尝试导入密钥然后签名,但它总是会导致相同的错误.我该如何解决?

signtool windows-8 windows-store-apps appx

263
推荐指数
14
解决办法
27万
查看次数

安装没有可信证书的.appx?

我有一个Windows 8应用程序,我想部署到我的Windows RT 2.我只有.appx,我想通过绕过商店安装它进行测试.但是,当我运行命令时:

Add-AppxPackage <project.appx>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

内联脚本返回错误输出:Add-AppxPackage:部署失败,HRESULT:0x800B0109,已处理证书链,但终止于信任提供程序不信任的根证书.(HRESULT异常:0x800B0109)错误0x800B0109:应用程序包中签名的根证书必须可信.*

Google表示我需要证书或PowerShell脚本,但肯定有一种方法可以绕过所有这些.理想情况下,我想安装应用程序进行测试.

否则,解决此问题的最简单方法是什么?我还需要什么.appx,以便我可以安装它没有问题?

windows-applications appx windows-rt

58
推荐指数
4
解决办法
5万
查看次数

UWP authenticode签名appxbundle显示未知的发布者智能屏幕

我有一个appxbundle由Visual Studio生成的签名,并使用Comodo authenticode sha256证书签名.打开属性时,捆绑包会显示数字签名选项卡.

现在,当我在另一台PC上下载文件时,smartscreen过滤器启动并说appxbundle有一个未知的发布者.

我研究了这个问题,但似乎只有clickonce部署的解决方案.

更新

我也执行了这里提到的解决方案.简而言之:使用post build或pre-publish签名来签署.exeobj文件夹中生成的文件.这两种解决方案都无法解决问题.

更新

包含的证书屏幕截图显示证书有效:

在此输入图像描述

我的问题:我需要做些什么才能让appxbundle正确的出版商出现?

更新

我检查了Comodo并重新检查了证书链.应用程序现在可以正常加载,但Smartscreen仍然无法识别发布者.

signing appx uwp windows-10-universal

14
推荐指数
1
解决办法
449
查看次数

Windows Phone 8.1 HTML公司应用程序 - 无法安装公司应用程序

我在尝试为Windows Phone 8.1部署任何类型的HTML应用程序作为公司应用程序时遇到问题.我开发的应用程序是使用Visual Studio Apache Cordova Apps项目,但我还测试了手动创建.appx的空白应用程序(通用Windows 8.1)和空白应用程序(Windows Phone)...最后两个似乎有效是同一个项目类型,Universal也只是一个带有Windows 8.1项目的解决方案.

当我尝试安装它时,我总是得到下面详细的错误消息(尝试从电子邮件,网络和手机的本地文件夹中进行各种尝试.

安装C#Windows Phone 8.1 Hub App项目使用相同的工作流程可以完美地运行.


错误信息

无法安装公司应用程序

这个公司应用程序存在问题.联系您公司的支持人员寻求帮助


开发环境

  • Windows 8.1企业版
  • 使用跨平台移动开发的Visual Studio Enterprise 2015> HTML/JavaScript(Apache Cordova)更新1
  • Windows企业开发人员帐户,其中包含适用于Windows®PhonePrivate Enterprise的Symantec代码签名证书
  • 开发者解锁诺基亚Lumia 635或公司MDM注册诺基亚Lumia 635

工作项目类型

  • Hub App(Windows Phone)[模板> Visual C#> Windows> Windows 8> Windows Phone]
  • 可能是任何其他C#项目类型(未经测试)

项目类型出错

  • 空白应用程序(Apache Cordova)[模板>其他语言> TypeScript> Apache Cordova应用程序]
  • 空白应用程序(通用Windows 8.1)[模板>其他语言> JavaScript> Windows> Windows 8>通用]
  • 空白应用程序(Windows Phone)[模板>其他语言> JavaScript> Windows> Windows 8> Windows Phone]
  • 使用Microsoft的MakexManifest.xml基本模板和MakePri.exe,MakeApp.exe手动创建一个包含单个HTML文件的appx

工作流程

  • 从Visual Studio创建相关的项目类型
  • 更改Phone.appxmanifest文件以使发布服务器与Symantec证书匹配Subject并拥有我们的PhonePublisherID
  • 右键单击项目,"存储>创建应用程序包..."
  • 通过向导选择"否"到Windows应用商店,永远不会捆绑和构建发布版本
  • 使用SignTool.exe或BuildMDILAPPX.ps1使用我们的证书对包进行签名
  • 如果尚未安装AET.aetx文件,请将其安装在手机上
  • 在手机上安装应用程序(从电子邮件,Web或本地文件夹)
  • 错误

winjs appx windows-phone-8.1 visual-studio-cordova win-company-app

13
推荐指数
1
解决办法
3072
查看次数

如何从Publisher计算PublisherID?

我想了解一下Windows Store和APPX包的内部情况.例如,package.appxmanifest有一个<Identity>包含包名,发布者和版本属性的元素

<Identity
    Name="MyCompany.MyGreatApp"
    Publisher="CN=B408A06D-44F7-4860-A12E-644DD44FA743"
    Version="1.0.0.3" />
Run Code Online (Sandbox Code Playgroud)

显然,当我在VS2013中打开此清单并转到Packaging选项卡时,它会显示一个只读的"Package Family Name"字段,它是包名称,下划线和看起来像发布者字符串的奇怪哈希的串联.

MyCompany.MyGreatApp_f08ys7xx9zb3y
Run Code Online (Sandbox Code Playgroud)

如何计算此哈希值(也称为PublisherId)?另请参见PackageId类PACKAGE_ID结构.

以下是您渴望密码分析师的一些示例值.它是13个小写字母和数字,因此近似"质量"是67位.谢谢!

8wekyb3d8bbwe   CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
amge560j0aq9g   CN=C357A519-CEE3-4675-9EF4-44DE1D99A5D6
a2xxwqz7shah6   CN=07AACB4D-E1D7-4606-AF0F-77713A7C52F6
cw5n1h2txyewy   CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
54ggd3ev8bvz6   CN=2180B9A4-DDFD-4BFD-8D7E-EADC9C394EF5
azstdzfk4mfqj   CN=246910D1-A42D-4A04-8CF1-0C2A5CD42D4D
rxzpp8adhbvh8   CN=7882B094-0135-443F-8362-164AA239F2A0
pwh22gvzcj20c   CN=9C2E3884-8027-4E71-97C7-BB7731A649A4
q4d96b2w5wcc2   CN=DCD4AC3C-C7E0-46FF-8387-51FDC8CBC467
r6rtpscs7gwyg   CN=54157592-46DE-47CD-AF04-3B89DE46E29B
8xx8rvfyw5nnt   CN=6E08453F-9BA7-4311-999C-D22FBA2FB1B8
kzf8qxf38zg5c   CN=Skype Software Sarl, O=Microsoft Corporation, L=Luxembourg, S=Luxembourg, C=LU
a76a11dkgb644   CN=40886CD1-D5C5-48D6-B914-AB6E72010FFC
6bhtb546zcxnj   CN=BBC567E9-A52C-43A3-A890-F8B17D68310E
46hhcags7zat8   CN=ABF01D82-FF53-447D-B7E8-61B6F2105F68

pd2za7f9waemw   CN=B408A06D-44F7-4860-A12E-644DD44FA740
h0ed56e8a88dc   CN=B408A06D-44F7-4860-A12E-644DD44FA741
wcvtzcf7freyj   CN=B408A06D-44F7-4860-A12E-644DD44FA742
f08ys7xx9zb3y   CN=B408A06D-44F7-4860-A12E-644DD44FA743 …
Run Code Online (Sandbox Code Playgroud)

package windows-store windows-store-apps appx appxmanifest

11
推荐指数
2
解决办法
2111
查看次数

Nuget,可移植库和WinRT appx:Payload包含两个或多个具有相同目标路径的文件

  1. 创建新的Windows 8应用程序 App1
  2. ClassLibrary1Windows 8类库项目添加到解决方案中
  3. PortableClassLibrary1针对Windows 8和Windows Phone 7.5的便携式类库添加到解决方案中
  4. 参考HttpClientnuget包ClassLibrary1
  5. 参考HttpClientnuget包PortableClassLibrary1
  6. 参考ClassLibrary1PortableClassLibrary1
  7. 编译解决方案

您在.appx包阶段遇到错误

Payload contains two or more files with the same destination path 'System.Net.Http.Primitives.dll'. 
Source files: 
\Projects\App1\PortableClassLibrary1\bin\Debug\System.Net.Http.Primitives.dll
\Projects\App1\packages\Microsoft.Net.Http.2.2.13\lib\win8\System.Net.Http.Primitives.dll
Run Code Online (Sandbox Code Playgroud)

请注意,如果您引用任何包含win8和便携式程序集混合的nuget包,则会再现相同的错误.

预期结果:库的大多数特定版本(win8 one)被打包到.appx中,并且忽略了可移植版本

有关如何欺骗appx打包程序并构建此类Windows 8项目的任何想法?

nuget portable-class-library windows-8 windows-runtime appx

10
推荐指数
2
解决办法
5471
查看次数

Signtool"错误:SignerSign()失败." (-2147024885/0x8007000b)

编辑

事件日志错误是这样的:

    error 0x8007000B: The app manifest publisher name (CN=...) 
must match the subject name of the signing certificate 
(CN={19BE29DF-4812-4F2E-8FC1-A138B146946A}).
Run Code Online (Sandbox Code Playgroud)

现在看来下面的命令似乎有效.因此,当我看到这个时,无论是我无法识别的用户错误还是与机器状态有关的东西.与事件日志消息中的签名证书关联的guid不是证书管理器管理单元中显示的证书,这很奇怪.

原始问题

我正在尝试签署使用生成的UWP appx包MakeAppx.exe.pfx是使用https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-manual-conversion这些命令生成的开发人员代码签名证书.

C:\> MakeCert.exe -r -h 0 -n "CN=<publisher_name>" -eku 1.3.6.1.5.5.7.3.3 -pe -sv <my.pvk> <my.cer>
C:\> pvk2pfx.exe -pvk <my.pvk> -spc <my.cer> -pfx <my.pfx>
Run Code Online (Sandbox Code Playgroud)

私钥位于我受信任的根证书存储区中,并且在我使用Desktop App Converter从安装程序生成appx时工作.

我使用的命令行是:

signtool.exe sign -f <path to my pfx file> -fd SHA256 -v .\FishTank.appx
Run Code Online (Sandbox Code Playgroud)

但是SignTool错误的是:

The following certificate was selected:
    Issued to: ...
    Issued by: …
Run Code Online (Sandbox Code Playgroud)

signtool windows-store-apps appx desktop-app-converter desktop-bridge

10
推荐指数
1
解决办法
7150
查看次数

如何创建Windows安装程序

基本上我们以手动安装程序(Windows powershell脚本)的形式发布我们的更改/修复.它将通过读取配置文件值在特定位置安装指定的.dll和SQL脚本文件(我们将在此文件中配置.dll和Sql脚本位置).相同的powershell脚本具有卸载代码以回滚特定的chage集.

是否有任何选项或机制来为上述要求创建Windows安装程序?

powershell windows-installer wix appx msix

10
推荐指数
3
解决办法
8521
查看次数

SignTool错误:指定的算法无法使用或无效

我正在尝试使用Visual Studio 2012 Express为我的appx文件签署Windows应用商店应用程序,但是收到以下错误:

SignTool Error: The specified algorithm cannot be used or is invalid
Run Code Online (Sandbox Code Playgroud)

我正在通过STORE-> Create App Packages菜单运行该过程,因此我无法直接访问SignTool的参数.

起初我以为是因为它使用了我们其他开发人员的自签名证书,所以我改为使用我们的真实证书,但仍然遇到同样的问题.

什么可能导致这个以及如何解决它?

编辑:怀疑问题是我们的普通证书不支持SHA-256,所以我在Visual Studio中创建了一个新的测试证书,但得到了相同的结果.

EDIT2:验证我的appx包中的哈希算法是SHA256,尝试使用以下命令手动运行SignTool:

SignTool sign /a /f My_TemporaryKey.pfx /fd SHA256 /v /debug MyAppPackage.appx
Run Code Online (Sandbox Code Playgroud)

同样的错误,控制台消息中没有有用的信息.

signtool windows-store windows-store-apps appx

8
推荐指数
2
解决办法
1986
查看次数

AppxSignature.p7x的结构是什么?

通用Windows应用程序位于.appx文件中,该文件只是一堆文件和元数据的压缩包。大多数元数据文件在 Microsoft 网站上都有详细记录,并且易于解析和/或重新生成。然而 AppxSignature.p7x 仍然是个谜。

从这张图(来源): 在此输入图像描述

AppxSignature.p7x 应该具有 AppxBlockMap.xml 的哈希值、内容和目录哈希值以及签名。但是我找不到 AppxSignature.p7x 文件本身的任何文档。理想情况下,我想使用替代工具来生成和验证此签名,例如 openssl/gnutls 或类似工具。其实际用途是在 Linux 上更新和重新打包应用程序,并为 Windows 应用商店准备 .appxupload 文件。

windows authenticode appx win-universal-app

8
推荐指数
2
解决办法
6664
查看次数