MSIs mit dem WiX Toolset signieren

OP Persönliche Seite #4878030
Hat sich hier schon mal jemand mit dem "Herausgeber: Unbekannt"-Problem 
bei Windows-Installern herumgeschlagen?
Ich habe eine Applikation, die Qt5 und MSVC-Runtime braucht. Mit dem 
WiX-Toolset habe ich es auch geschafft, dafür einen Installer zu 
stricken - erst erzeuge ich eine MSI mit .exe und Qt, dann packe ich in 
einem zweiten Schritt das MSVC-MSI dazu und erzeuge eine installer.exe.
Allerdings liefert diese bei der Installation unter Windows 10 immer 
"Herausgeber: Unbekannt". Auch wenn ich nur die im ersten Schritt 
erzeugte MSI nehme, habe ich die gleiche Meldung.

Ich habe jetzt ein paar Stunden damit verbracht, herauszufinden, wie ich 
das loswerde. Die MSI und nachher das Bundle müssen signiert werden, 
dafür gibt es signtool.exe - so weit war ich schnell. Dann ging das 
Elend los.

Ich habe mir selbst ein Zertifikat erzeugt, das signtool auch 
akzeptiert. Ich signiere die MSI mit
1
"c:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\signtool" sign  /f zertifikat.pfx /d "Mein erstes Programm" /t http://timestamp.verisign.com/scripts/timstamp.dll /v "installer.msi"
Dauert eine Weile, läuft aber durch (das Zertifikat hat kein Passwort, 
sonst bräuchte man noch /p).

Beim nächsten Installieren habe ich aber trotzdem wieder "Herausgeber: 
Unbekannt".

Hat jemand das mit einem vergleichbaren Setup schon mal durchgespielt? 
Meinetwegen auch mit dem Nullsoft Installer o.ä.? Oder sonst einen 
sachdienlichen Hinweis?
Die belegbare Aussage "geht nicht mit selbstsigniertem Zertifikat" 
würde mir auch schon reichen. Dann muss ich entweder Geld investieren 
oder Nutzer trösten.


Etwas genervte Grüße,

Max
Gast
Ein selbstsigniertes Zertifikat ist wertlos.
Denn um das zu erkennen, muss Windows bzw. der Benutzer es zuerst in 
seinen Zertifikatsspeicher hinzufügen.

Das kann man selbst mal zum Testen machen, aber zum Verteilen ist das 
keine Lösung.
Denn du müsstest deinen Benutzern eine Anleitung mitgeben, wie sie dein 
Zertifikat per Hand installieren, damit nachher dein Installer als 
signiert und ok angezeigt wird.
Das wäre aber bloß Fassade.

Denn natürlich ist das auch ein Sicherheitsaspekt, denn bei einem 
signierten Setup werden Veränderungen erkannt und das Signatur ist 
ungültig.
Wenn da jedes selbst erzeugte Zertifikat funktionieren würde, würde der 
böse Hacker es einfach mit seinem selbst gebauten Zertifikat neu 
signieren und keiner würde was merken.
Deshalb werden von Windows nur Zertifikate anerkannt, die von einem der 
"großen" Anbieter ausgestellt bzw. signiert wurden (Chain of trust).

MfG Stefan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.