首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"Error: SignerSign() failed“(-2147024885/0x8007000b)

"Error: SignerSign() failed“(-2147024885/0x8007000b)
EN

Stack Overflow用户
提问于 2016-05-27 01:28:26
回答 2查看 12.4K关注 0票数 15

编辑

事件日志错误是:

代码语言:javascript
运行
复制
    error 0x8007000B: The app manifest publisher name (CN=...) 
must match the subject name of the signing certificate 
(CN={19BE29DF-4812-4F2E-8FC1-A138B146946A}).

下面的命令现在似乎起作用了。所以,无论是我的用户错误,我无法识别,或一些不正常的状态的机器,当我看到这一点。与事件日志消息中的签名证书关联的guid不是证书管理器插件中显示的那种guid,这很奇怪。

原始问题

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

代码语言:javascript
运行
复制
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>

私钥位于我信任的根证书存储区中,当我使用桌面应用程序转换器从安装程序生成一个appx时,私钥就可以工作了。

我使用的命令行是:

代码语言:javascript
运行
复制
signtool.exe sign -f <path to my pfx file> -fd SHA256 -v .\FishTank.appx

但是,SignTool正在错误地执行以下操作:

代码语言:javascript
运行
复制
The following certificate was selected:
    Issued to: ...
    Issued by: ...
    Expires:   Sat Dec 31 18:59:59 2039
    SHA1 hash: ...

Done Adding Additional Store
Error information: "Error: SignerSign() failed." (-2147024885/0x8007000b)

证书发布服务器与appmanifest.xml中的内容匹配。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<Package
   xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
   xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
   xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <Identity Name="..."
    ProcessorArchitecture="x64"
    Publisher="CN=..."
    Version="1.1.0.0" />
  <Properties>
    <DisplayName>Fish Tank</DisplayName>
    <PublisherDisplayName>Reserved</PublisherDisplayName>
    <Description>Some fish. Swimming around on your screen.</Description>
    <Logo>StoreLogo.png</Logo>
  </Properties>
  <Resources>
    <Resource Language="en-us" />
  </Resources>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.14316.0" />
  </Dependencies>
  <Capabilities>
    <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application Id="FishTank" Executable="FishTank.exe" EntryPoint="Windows.FullTrustApplication">
      <uap:VisualElements
       BackgroundColor="#464646"
       DisplayName="Fish Tank"
       Square150x150Logo="Square150x150Logo.png"
       Square44x44Logo="Square44x44Logo.png"
       Description="Some fish. Swimming around on your screen." />
    </Application>
  </Applications>
</Package>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-24 12:58:58

就像已回答的这里 (尽管对于不同的错误代码)一样,您必须确保发布者名称(在AppxManifest.xml文件中)与证书的发行者相同。

有关更多信息,请参见这里 (在底部的“备注”部分)。

票数 16
EN

Stack Overflow用户

发布于 2018-04-13 22:28:31

MakeCert /n参数必须是来自xml的完整发行者字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37473394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档