7

EDITSigntool "Błąd: SignerSign() nie powiodło się." (-2147024885/0x8007000b)

error log zdarzeń był następujący:

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

Komenda poniżej wydaje się do pracy. Tak więc albo błąd użytkownika z mojej strony, którego nie mogę zidentyfikować, albo coś dziwnego ze stanem maszyny, kiedy to widziałem. Ten identyfikator skojarzony z certyfikatem podpisu w komunikacie dziennika zdarzeń nie jest tym, co pokazuje certyfikat w snap-in Menedżera certyfikatów, co jest dziwne.

oryginalne pytanie

Ja próbuje podpisać pakiet UWP Appx które zostały wygenerowane przy użyciu MakeAppx.exe. Pfx to certyfikat do podpisywania kodu programisty wygenerowany za pomocą tych poleceń od 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> 

Klucz prywatny jest w moim zaufanym sklepie korzeń cert i pracował kiedy wygenerował appx od instalatora za pomocą Desktop App Converter.

Linia komend używam jest:

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

ale SignTool jest erroring z tym:

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) 

Wydawcą certyfikatu odpowiada co jest w 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

Ten błąd został konkretnie wymieniony [w dokumentacji] (https://msdn.microsoft.com/en-us/library/windows/desktop/jj835835%28v=vs.85%29.aspx). Zapomniałeś nam powiedzieć, co znalazłeś w dzienniku aplikacji. –

+0

Odpowiedź edytowana, aby mieć dziennik zdarzeń, ale co dziwne (po kilku godzinach od komputera) podpisanie zadziałało beze mnie, zmieniając wszystko, co mogę wymyślić. Pisząc to na własny błąd lub gremliny. – dkackman

+4

Wystąpił ten sam błąd, a problem występował w nazwie wystawcy certyfikatu. Wartość '' w 'MakeCert.exe' powinna być zgodna z' Publisher = "CN = " 'w' AppxManifest.xml' – crea7or

Odpowiedz

2

Podobnie jak odpowiedział here (choć dla innego kodu błędu) - yo musisz upewnić się, że nazwa wydawcy (w pliku AppxManifest.xml) jest taka sama jak wydawca certyfikatu. Aby uzyskać więcej informacji, zobacz here (w dolnej sekcji "Uwagi").

+0

Co to dokładnie znaczy? Czy to tylko CN = firma lub cały temat? Co dokładnie musi pasować? Dokumenty są bardzo niejasne i nie mogę wykonać żadnej kombinacji. –

+0

@RickStrahl z tego, co zauważyłem, powinien to być cały łańcuch, a nie tylko CN = część. Jeśli to jeszcze nie zadziałało, daj mi znać –

Powiązane problemy