7

EDITSigntool "Erreur: SignerSign() a échoué." (-2147024885/0x8007000B)

erreur de journal des événements était le suivant:

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

La commande ci-dessous semble maintenant travailler. Donc, soit erreur de l'utilisateur de ma part que je ne peux pas identifier ou quelque chose de bizarre avec l'état de la machine quand je voyais cela. Ce guid associé au CERT de signature dans le message du journal des événements n'est pas ce que le CERT indique dans le composant logiciel enfichable Gestionnaire de certificats, ce qui est bizarre.

Original Question

Je cherche à signer un paquet de appx UWP qui a été généré en utilisant MakeAppx.exe. Le pfx est un certificat de signature de code de développeur généré avec ces commandes de 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> 

La clé privée est dans mon magasin de confiance cert racine et a travaillé quand je généré un appx d'un programme d'installation en utilisant le Desktop App Converter.

La ligne de commande J'utilise est:

signtool.exe sign -f <path to my pfx file> -fd SHA256 -v .\FishTank.appx 

mais SignTool est erroring avec ceci:

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) 

L'éditeur de certificat correspond à ce qui est dans le appmanifest.xml

<?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> 
+2

Cette erreur est spécifiquement mentionnée [dans la documentation] (https://msdn.microsoft.com/fr-fr/library/windows/desktop/jj835835%28v=vs.85%29.aspx). Vous avez oublié de nous dire ce que vous avez trouvé dans le journal des applications. –

+0

Réponse éditée pour avoir le journal des événements, mais assez curieusement (après quelques heures d'absence de l'ordinateur) la signature a juste fonctionné sans que je ne change quoi que ce soit que je puisse penser. Chalking jusqu'à ma propre erreur d'utilisateur ou gremlins. – dkackman

+4

J'ai eu la même erreur et le problème était dans le nom de l'émetteur du certificat. La valeur '' dans 'MakeCert.exe' doit correspondre à' Publisher = "CN = " 'dans' AppxManifest.xml' – crea7or

Répondre

2

Tout comme répondu here (bien que pour un code d'erreur différent) - yo Vous devez vous assurer que le nom de l'éditeur (dans le fichier AppxManifest.xml) est le même que celui de l'éditeur du certificat.

Pour plus d'informations, voir here (dans la section inférieure "Remarques").

+0

Qu'est-ce que cela signifie exactement? Est-ce juste la société CN = ou le sujet entier? Qu'est-ce qui doit correspondre exactement? Les docs sont très vagues et je ne peux pas faire de combinaison. –

+0

@RickStrahl de ce que j'ai observé, il devrait être la chaîne entière, pas seulement la partie CN = quelque chose. Si cela ne fonctionne toujours pas pour vous, faites le moi savoir –