Willkommen bei Peter Killert.

Code Signing - Part 2

Ich hatte von meinem Entschluss berichtet, zukünftige Softwarelösungen digital zu signieren. Nur ein aktives Code Signing zeugt von Seriosität. Und ich war erstaunt, dass dieser Prozess relativ aufwendig ist. Meine Annahme, die eigene Identität durch Beifügen eines Personalausweises oder Reisepasses zu bestätigen, würde ausreichen, war falsch. Und wenn man sich dann auch noch ein wenig dumm anstellt, zieht sich das Ganze in die Länge.
Aber der Reihe nach ... .

So sieht´s jetzt aus - ich bin jetzt zertifiziert
So sieht´s jetzt aus - ich bin jetzt zertifiziert
So sah es vorher aus -nicht besonders vertrauenserweckend ;-)
So sah es vorher aus -nicht besonders vertrauenserweckend ;-)

 

Der Aussteller des Zertifikats ist das Bindeglied zwischen dem Softwareanbieter und den potenziellen Kunden. Er ist quasi eine Art Vermittler. Er übernimmt die Überprüfung des Anbieters und stuft ihn als ´vertrauenswürdig´ ein. Damit kein Missverständnis entsteht: Dieser Anbieter prüft nicht etwa den Softwarecode, sondern erstellt eine Art digitale Unterschrift. Ich kann also weiterhin Unsinn programmieren – nur jetzt muss der potenzielle Kunde a) seine Sicherheitseinstellungen nicht mehr einschränken, um meine Software zu installieren, b) erhält er keine dämlichen Fehlermeldungen mehr und c) ist zweifelsfrei nachvollziehbar, wer die Software programmiert hat. Ich habe meinen Anbieter nach den Kriterien Preis und Erfahrungen anderer User ausgewählt und mich für „Comodo“ entschieden, dem weltweit größten Anbieter dieser Art von Zertifikat.

 

In meinem Fall war es so, dass ich nicht direkt mit comodo Kontakt hatte, sondern mit einem Dienstleister. Denn die Ausstellung des Zertifikates erfordert die Bündelung mehrerer Schritte.
Zunächst muss man sich eine Art Handelsregister eintragen. Dieses Register ist wiederum Grundlage für eine DUNS-Nummer (oder auch Dun & Bradstreet Nummer). Das ist eine eindeutige internationale Kennung, die in den letzten Jahren mehr und mehr an Bedeutung gewonnen hat. Dabei muss man aufpassen, dass die Daten, die man beim Zertifikat hinterlegt, identisch sind mit denen, die in diesem Register angegeben sind. Da hatte ich den ersten Fehler gemacht und die Auto-Fill Formulardaten nicht geprüft. Da ist nämlich eine Dummy-Telefonnummer angegeben, denn ich gebe grundsätzlich die Telefonnummer nicht heraus. Für eine Zertifizierung ist das aber eine dumme Idee, denn die nächsten Schritte sind zwei telefonische Validierungen. Man erhält Anrufe von der Instanz, die die Daten des Registers prüft und einen Anruf des Zertifikatsausstellers. Man bekommt einige Fragen gestellt, deren Antworten aufgezeichnet werden. Das war´s dann.

Wer nun glaubt, man bekommt jetzt eine Datei zugeschickt und kann diese einfach nutzen, der irrt. Das Zertifikat wird mit einer Zugangskennung im Browser erzeugt. Über die Einstellungen des Browsers kann dann ein Backup des Zertifikats gemacht werden. Diese Datei wiederum kann man in Visual Studio als Signatur einbauen – wird das Programm kompiliert und veröffentlicht erstreckt sich die Signatur auf die gesamte Assembly (also alle DLL´s / EXE / VSTO Dateien) der Softwarelösung.

Lange Rede, kurzer Sinn: Es funktioniert. Bei einem meiner Kunden hat eine Installation, die zuvor abgebrochen war, nur anstandslos funktioniert. Ich kann also nur jedem raten, alle Versuche, diese Zertifizierung irgendwie umgehen zu wollen, von vornherein sein zu lassen. Diese Investition und der damit verbundene Aufwand sind zwingend notwendig, wenn man Software verkaufen möchte.