In diesem Dokument wird die Signierung von Programme/Bibliotheken und Setups beschrieben, sowie alle hierzu notwendigen Tools, Dateien und Zertifikate.
Signierung von InstallAware-Setups
Zum Signieren von InstallAware-Setups werden keine weiteren Tools benötigt - InstallAware hat die Signierung der Setups vollständig integriert. In der Design-Ansicht unter dem Punkt "Deployment/Authenticode Signature" kann die Signierung aktiviert werden:

Links:
http://www.installaware.com
Programme/Tools zum Signieren von Programmen
Zum Signieren von Programmen und Bibliotheken werden einige Tools und Dateien aus dem Microsoft Platform SDK for Windows Server 2003 R2 benötigt:
– signtool.exe
– pvk2pfx.exe
– CapiCom.Dll
Die benötigten Tools und Dateien stehen im Anhang als ZIP-Archiv zur Verfügung (Tools.zip). Damit lassen sich unter Windows XP SP2 / Windows Vista (andere Plattformen habe ich nicht getestet) Programme und Bibliotheken signieren, ohne das Microsoft Platform SDK installieren zu müssen. Für die Signierung von InstallAware-Setups werden diese Tools nicht benötigt.
Links:
http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
Signierung von Programmen und Bibliotheken
Wenn die Personal Information Exchange Datei (*.pfx) zur Verfügung steht, können Programme und Bibliotheken signiert werden. Hierzu kann das Tool signtool.exe aus dem Microsoft Platform SDK for Windows Server 2003 R2 verwendet werden:
signtool.exe sign /f "C:\Demo.pfx" /p "pfxPasswort" /t "http://timestamp.comodoca.com/authenticode" "F:\SOURCE_20\Test - Signierung\Projekt1.exe"
Der letzte Parameter ("F:\SOURCE_32\Test - Signierung\Projekt1.exe") gibt den vollständigen Pfad Dateinamen der zu signierenden Datei an (*.exe, *.dll oder *.ocx).
Tipp: Grundsätzlich sollte immer der vollständige Pfad Dateinamen in zwei doppelten Anführungszeichen angegeben werden!
Wichtig: Es muss das Passwort der *.pfx-Datei beim Parameter /p angegeben werden (nicht zu verwechseln mit dem Passwort für den privaten Schlüssel!).
Links:
http://msdn2.microsoft.com/de-de/library/8s9b9yaz(vs.80).aspx
Vorbereitung zur Signierung
Wenn das Unternehmens-Zertifikat vorliegt (*.spc), muss zunächst noch eine Personal Information Exchange Datei (*.pfx) erzeugt werden, bevor mit der Signierung begonnen werden kann. Um eine Personal Information Exchange Datei (*.pfx) zu erzeugen, kann das Tool pvk2pfx.exe aus dem Microsoft Platform SDK for Windows Server 2003 R2 verwendet werden:
pvk2pfx.exe -pvk "C:\Demo.pvk" -pi "pvkPasswort" -spc "C:\Demo.spc" -pfx "C:\Demo.pfx" -po "pfxPasswort" -f
Die erstellte Personal Information Exchange Datei (Demo.pfx) erhält das neue Passwort "pfxPasswort" (es wird von Microsoft empfohlen, für diese Datei ein anderes Passwort zu verwenden als für die private Schlüssel-Datei).
Links:
http://msdn2.microsoft.com/en-us/library/aa906332.aspx
Anforderung Unternehmens-Zertifikat
Ein Unternehmens-Zertifikat kann z.B. bei VeriSign, COMODO usw. angefordert werden. Wir verwenden ein Unternehmens-Zertifikat von COMODO (günstigster Anbieter). Direkt bei der Bestellung erhält man eine Datei, die den privaten Schlüssel enthält (*.pvk) und die mit dem zuvor angegebenen Passwort geschützt ist (pvkPasswort). Nach der Verfikation durch den Anbieter erhält man von diesem das Unternehmens-Zertifikat (*.spc). Beide Dateien werden für die Erstellung einer Personal Information Exchange Datei (*.pfx) benötigt (siehe Vorbereitung zur Signierung).
Links:
http://www.instantssl.com/code-signing/code-signing.html