Articles for Januar 2016

Günstig zum Code Signing Zertifikat

CA Zertifikate erstellen zu lassen kann sehr schnell in’s Geld gehen. Gerade für kleinere Unternehmer oder selbstständige Programmierer können die Kosten in keinem gesunden Kosten-Nutzungsverhältnis stehen. Dabei wird das Siginieren von Code, gerade durch das Microsoft Authenticode Programm immer wichtiger.

Zwar gibt es in jüngster Zeit Bestrebungen, Zertifizierungen kostenlos anzubieten wie z.B. OpenCA es tut, diese stecken jedoch noch in den Kinderschuhen, mit allen Kinderkrankheiten die dazugehören.

Eine passable und billige Variante um Code Signing Zertifikate für individual Coders und kleinere Unternehmen zu erstellen bietet die israelische CA StartCom (https://www.startssl.com) an. Mit der Variante StartSSL™ Identity Validation (Class 2) lässt sich für schmale 59,90 US$ ein Zertifikat erstellen, welches sich unter Anderem für Microsoft Authenticode verwenden lässt.

Die (verschmerzbaren) Nachteile

Dazu muss man jedoch die folgende Nachteile in Kauf nehmen:

  • Das Zertifikat ist zwei Jahre gültig. Alle bis dahin signierten Dateien nach Ablauf des Zertifikats werden auf einen Schlag als ungültig eingestuft, man sollte also vor Ablauf des Zertifikats darauf zu achten alle Dateien mit einem verlängerten Zertifikat nochmals zu signieren. Bei anderen (teureren) CAs werden Dateien mit abgelaufenen Zertifikaten als weiterhin gültig erkannt, nur neu signierte Dateien werden sinnigerweise als abgelaufen eingestuft.
  • Es ist nicht möglich Micosoft Kernel-Code damit zu signieren, damit ist es nicht möglich Windows Treiber zu signieren.
  • Zertifiziert werden ausschließlich Personen, d.h. das Zertifikat weißt lediglich den Vor- und Nachnamen der Antragsstellers aus. Unternehmendetails wie der Firmenname tauchen im Class 2 Zertifikat nicht auf.

Jeder muss natürlich für sich selbst entscheiden ob unter diesen Nachteilen ein KO Kriterium steckt, für den sehr günstigen Preis lassen sich jedoch viele der Nachteile verschmerzen.

Der Zertifizierungsvorgang

Als allererstes sollte man sich bei StartSSL anmelden. Dazu klickt man auf „Login“ und auf „Sign-Up“. Im Laufe des Registrierungsprozess erhält man vom CA ein Boostrap Zertifikat (z.B. bootstrapkey.pfx), welches noch nichts mit dem endgültigen Zertifikat zu tun hat, sondern lediglich für das Login für den internen Bereich von StartCom benutzt wird. Dieses sollte man in den Zertifikatsspeicher des Browsers mit aufnehmen. Im IE z.B. unter Einstellungen->Inhalte->Zertifikate->Importieren. Danach sollte der Login bei StartSSL.com ohne weiteres möglich sein.

Im Backend angekommen, wählt man nun das passende Produkt (Class 2 cert) aus. Im Verlauf der weiteren Registrierung werden weitere Daten abgefragt, äußerst wichtig ist hierbei eine gültige Telefonnummer zu hinterlassen, da man mit ziemlicher Sicherheit von einem Mitarbeiter der CA zum Zertifizierungsvorgang interviewt wird. Diese müssen schließlich dafür bürgen, dass es sich bei der zu zertifizierenden Person auch wirklich um den Antragsteller handelt. Aus diesem Grund sollte man auch keine Scheu haben im weiteren Verlauf amtlich Dokumente der CA zur Verfügung zu stellen, wie z.B. Personalausweis und/oder Führerschein. Mit der offiziellen Kopiereinschränkungen der amtlichen Dokumente nehmen es die Israelis wohl nicht ganz so ernst – auf der anderen Seite wird dies bei anderen CAs auch nicht anders sein.

Hat man den Verifizierungsanruf inklusive Interview (mit dem durchaus freundlichen Mitarbeiter aus Israel – ein Plausch über das Wetter in seinem Land war auch noch drin) hinter sich und alle gewünschten Dokumente wurden nicht beanstandet, ist man nun offiziell gegenüber dem CA zertifiziert. Nun ist es möglich im Backend (unter Object Code) ein Zertifikat für erstellen und herunterzuladen.

Code zertifizieren

Mit diesem Zertifikat lassen sich jedoch noch keine .exe Dateien sigieren. Dazu muss das erhaltenen Zertifikat noch als CodeSigning Zertifikat für die Microsoft Tools (wie z.B. Signtool.exe) aufbereitet werden.