Blog

Im InterNetX Blog erfahren Sie Neuigkeiten, Hintergründe und Innovationen
aus den Bereichen Domains, Server und SSL.

Der Code Signing-Life-Cycle: Wie lange bleiben die Zertifikate gültig?

Der Life-Cycle eines Code Signing-Zertifikats bezieht sich auf die Phasen seiner Lebensdauer – von der Beantragung bis zum Ablauf des Zertifikats. Sehen wir uns einmal jede dieser Phasen an.


In unserem digitalen Zeitalter ist die Bereitstellung einer sicheren und vertrauenswürdigen Methode für die Verbreitung von Software und anderen Arten von Code von entscheidender Bedeutung. Die Entwicklung der Code-Signing-Technologie hat sich in den letzten Jahrzehnten aufgrund der steigenden Nachfrage nach sicheren digitalen Produkten ergeben. Das erste bekannte Code Signing-Zertifikat wurde 1995 für ein Webbrowser-Plugin ausgestellt.


Neue Technologien und Sicherheitsstandards wurden eingeführt, wodurch sich Code Signing-Zertifikate im Laufe der Jahre stark weiterentwickelt und verbessert haben.

Heute werden Code Signing-Zertifikate von verschiedenen Certificate Authorities (CAs) weltweit, wie etwa DigiCert, ausgestellt, und Softwareentwickler und Organisationen verwenden sie, um Software zu verteilen und die Integrität ihres Codes sicher zu schützen. Software-Developer oder Coder müssen die Bedeutung dieses digitalen Werkzeugs unbedingt verstehen. Wenn sie Code Signing-Zertifikate verwenden, um ihre Software sicher zu verbreiten und die eigene Reputation zu schützen, ist es ganz wichtig, das Ablaufdatum im Auge zu behalten, denn ein Zertifikat ist nicht unbegrenzt gültig. Das digitale Zertifikat hat einen Life-Cycle, und die Gültigkeit muss nach einer gewissen Zeit verlängert werden. Dieser Artikel befasst sich mit dem Life-Cycle eines Code Signing-Zertifikats und erläutert, welche Folgen ein abgelaufenes Zertifikat hat.

Was ist ein Code Signing-Zertifikat?

Code Signing-Zertifikate fallen in die breitere Kategorie der digitalen Zertifikate. Ein digitales Zertifikat ist ein elektronisches Dokument, das dazu dient, die Identität einer Person, einer Organisation oder eines Geräts zu überprüfen und Vertrauen in Online-Transaktionen und -Kommunikation zu schaffen. Es gibt verschiedene digitale Zertifikate, darunter TLS/SSL-Zertifikate, S/MIME- und Client-Authentifizierungs-Zertifikate. Jeder Zertifikatstyp hat seine eigenen einzigartigen Merkmale und Verwendungszwecke.

Code Signing wird verwendet, um die Authentizität und Integrität von Software zu überprüfen. Sie stellt sicher, dass die Software nach der Signierung des Zertifikats nicht manipuliert oder verändert wurde. Code Signing-Zertifikate werden in der Regel von einer vertrauenswürdigen Certificate Authority (CA) ausgestellt und zum Signieren von ausführbaren Dateien, Treibern und anderen Arten von Code verwendet. Wenn ein Benutzer Software herunterlädt und installiert, die mit einem Code Signing-Zertifikat signiert wurde, kann das Betriebssystem oder der Webbrowser des Benutzers die Authentizität des Codes anhand des Zertifikats überprüfen.

Es gibt verschiedene Arten von Code Signing-Zertifikaten, darunter Standard Code Signing-Zertifikate, Extended Validation (EV) Code Signing-Zertifikate und Code Signing-Zertifikate mit Timestamp. Jeder Zertifikatstyp hat spezifische Merkmale und Vorteile. Die Wahl des richtigen Zertifikatstyps hängt von  den Anforderungen der Software-Developer oder Unternehmen ab.

Mit Code Signing authentifizieren und verifizieren Sie Software-Anwendungen. Werfen Sie einen genaueren Blick auf die Technologie hinter einem digitalen Zertifikat und einige Best Practice-Verfahren zur digitalen Signatur Ihrer Anwendungen.

Warum sollten Sie ein Code Signing-Zertifikat nutzen?

Es gibt einige Gründe, warum Software-Developer und Unternehmen Code Signing-Zertifikate nutzen sollten.

Zur Verifizierung der Authentizität und Integrität von Code
Code Signing-Zertifikate stellen sicher, dass der Code nicht manipuliert oder verändert wurde. Das stärkt das User-Vertrauen und schützt die Reputation des Software-Developers.

Zum Schutz der User vor Malware
Code Signing-Zertifikate tragen dazu bei, dass User keine bösartige Software herunterladen und installieren. Versucht ein User, Software herunterzuladen und zu installieren, die mit einem Code Signing-Zertifikat signiert ist, kann sein Betriebssystem oder sein Webbrowser die Authentizität des Codes anhand des Zertifikats überprüfen.

Zur Optimierung der Verteilung und Installation
Code Signing-Zertifikate optimieren die Softwareverteilung und -installation. Einige Betriebssysteme und Webbrowser vertrauen beispielsweise automatisch auf Software, die mit einem Code Signing-Zertifikat signiert ist. Das erleichtert es Usern, die Software herunterzuladen und zu installieren.

Zur Einhaltung von Branchen-Vorschriften
Code Signing-Zertifikate werden in einigen Branchen benötigt, um gesetzliche Vorschriften zu erfüllen. So müssen z. B. einige Hersteller medizinischer Geräte Code Signing-Zertifikate als Teil ihres Qualitätsmanagement-Systems verwenden.

Verlieren Code Signing-Zertifikate ihre Gültigkeit?

Wie alle anderen digitalen Zertifikate haben auch Code Signing-Zertifikate eine begrenzte Lebensdauer und müssen nach einem bestimmten Zeitraum erneuert werden. Das Ablaufdatum wird in der Regel im Zertifikat angegeben und ist für den User oder Administrator, der das Zertifikat installiert hat, verfügbar. Der Gültigkeitszeitraum für ein Code Signing-Zertifikat kann je nach ausstellender Certificate Authority (CA) und der Art des Zertifikats variieren.

Da ein abgelaufenes Zertifikat nicht zum Signieren von Code verwendet werden kann, ist es wichtig, ein Code Signing-Zertifikat zu erneuern, bevor es abläuft. Wenn ein Benutzer oder Administrator versucht, einen Code mit einem abgelaufenen Zertifikat zu signieren, schlägt der Signier-Vorgang fehl und der User muss ein neues Code Signing-Zertifikat beantragen, um die Software weiterhin verteilen zu können. Außerdem muss bei einem abgelaufenen Zertifikat der gesamte Validierungsprozess von Grund auf neu durchlaufen werden.

Verschiedene Code Signing-Typen, unterschiedliche Gültigkeit

1. Code Signing-Zertifikat mit Organization Validation (OV)
Dies ist die gängigste Art von Code Signing-Zertifikaten, das sog. Organization Validation (OV) certificate. Sie werde verwendet, um ausführbare Dateien, Treiber und andere Arten von Code zu signieren und die Authentizität und Integrität des Codes zu überprüfen. Standard Code Signing-Zertifikate sind in der Regel ein bis drei Jahre gültig.

2. Code Signing-Zertifikat mit Extended Validation (EV)
Diese Zertifikate bieten ein höheres Maß an Sicherheit, da der Software-Developer oder die Organisation ein intensiveres Prüfverfahren durchlaufen muss, um das Zertifikat zu erhalten. Das Zertifikat wird auf einem Hardware-Token (USB) gemäß den geltenden Vorschriften ausgestellt, um die 2FA zu erfüllen. Code Signing-Zertifikate mit EV geben Usern mehr Vertrauen und werden in der Regel zum Signieren von Code verwendet, der an eine große Anzahl von Usern verteilt wird. Sie haben eine Gültigkeit von ein bis drei Jahren.

3. Code Signing-Zertifikate mit Timestamp
Mit diesen Zertifikaten können Software-Developer ihren Code mit einem Zeitstempel versehen, d. h. sie können den Nachweis erbringen, dass der Code zu einem bestimmten Zeitpunkt signiert wurde. Dies kann in Fällen nützlich sein, in denen das Code Signing-Zertifikat abgelaufen ist, die Verbreitung des Codes aber noch läuft. Code Signing-Zertifikate mit Timestamp können je nach den spezifischen Anforderungen der ausstellenden Certificate Authority (CA) unterschiedliche Laufzeiten haben.

Es gibt noch weitere Code Signing-Arten für spezielle Zwecke, wie für den Kernel-Modus oder für die Verwendung mit Microsoft Office und VBA. Alles in allem hängt die passende Variante eines Code Signing-Zertifikats immer von den spezifischen Anforderungen ab.

Code Signing: Die sechs Life-Cycle-Phasen

Der Life-Cycle eines Code Signing-Zertifikats umfasst den Prozess von der Beantragung, dem Erhalt und der Installation des Zertifikats bis hin zur Erneuerung des Zertifikats vor Ablauf der Gültigkeit. Er lässt sich in folgende Phasen unterteilen:

1. Anwendung: Ein Software-Developer oder Unternehmen beantragt ein Code Signing-Zertifikat bei einer Certificate Authority (CA) oder über einen ISP. Das Antragsverfahren kann das Ausfüllen eines Online-Formulars, die Zahlung einer Gebühr und die Vorlage bestimmter Unterlagen zur Überprüfung der Identität des Antragstellers umfassen.

2. Erteilung: Wird der Antrag genehmigt, stellt die Certificate Authority dem Antragsteller das digitale Zertifikat aus. Das Code Signing-Zertifikat enthält Informationen über den Antragsteller, das Ablaufdatum und etwaige Berechtigungen oder Einschränkungen für die Verwendung des Zertifikats.

3. Installation: Der Antragsteller installiert das Code Signing-Zertifikat auf seinem Computer oder anderen Geräten. Dazu gehört in der Regel das Importieren des Zertifikats in die entsprechende Software oder in das Betriebssystem und die Konfiguration aller erforderlichen Einstellungen oder Präferenzen.

4. Nutzung: Das Code Signing-Zertifikat wird verwendet, um den Code zu signieren, den der Antragsteller verbreiten möchte. Ein Code Signing-Tool oder ein Dienstprogramm ist erforderlich, um die digitale Signatur auf den Code anzuwenden.

5. Verifizierung: Wenn User Software mit Code Signing herunterladen und installieren, prüft ihr Betriebssystem oder Webbrowser anhand der digitalen Signatur des Zertifikats die Authentizität und Integrität des Zertifikats.

6. Erneuerung: Läuft das Code Signing-Zertifikat ab, muss es erneuert werden, um es weiterhin nutzen zu können. Für die Erneuerung ist je nach den spezifischen Anforderungen der Certificate Authority ein neues Zertifikat zu beantragen, eine Gebühr zu entrichten und ein Prüfverfahren zu durchlaufen.

Der Life-Cycle eines Code Signing-Zertifikats umfasst zwar einige Schritte. Der Großteil des Prozesses kann aber relativ einfach und reibungslos online abgewickelt werden.

Was passiert, wenn Ihr Code Signing-Zertifikat abläuft?

Ist ein Code Signing-Zertifikat abgelaufen, kann es nicht mehr zum Signieren von Code verwendet werden. Würde ein Software-Developer oder Administrator Code mit einem abgelaufenen Zertifikat signieren, schlüge der Signier-Vorgang fehl. Das heißt: ein neues Code Signing-Zertifikat muss beantragt werden, um die Software weiterhin verteilen zu können.
Um ein neues Code Signing-Zertifikat zu erhalten, muss je nach den spezifischen Anforderungen der ausstellenden Certificate Authority (CA) das Zertifikat beantragt, eine Gebühr entrichtet und erneut ein Prüfverfahren durchlaufen werden.

Es ist also wichtig, das Ablaufdatum eines Code Signing-Zertifikats im Auge zu behalten und es vor Ablauf der Gültigkeit zu erneuern. Nur so bleibt sichergestellt, dass der Code weiterhin ohne Unterbrechung signiert und verteilt werden kann.

Mit Timestamp Code langfristig sichern

Ein Timestamp ist nicht zwingend erforderlich, wird aber in der Regel als Teil eines Code Signing-Zertifikats von einer Certificate Authority (CA) ausgestellt. Es handelt sich um eine Code Signing-Funktion, die es dem Software-Developer ermöglicht, den Code mit einem Zeitstempel zu versehen, um nachzuweisen, dass der Code zu einem bestimmten Zeitpunkt signiert wurde.

Ein Timestamp stellt sicher, dass der Code nicht ungültig wird, wenn das Zertifikat abläuft, da das System den Timestamp validiert. Der Timestamp-Server zeichnet einen Hash des Codes auf. So kann die Software des Users zwischen Code, der mit einem abgelaufenen Zertifikat signiert wurde (dem nicht vertraut werden sollte), und Code, der mit einem Zertifikat signiert wurde, das zum Zeitpunkt der Signatur gültig war, aber später abgelaufen ist, unterscheiden.

Manchmal kann ein Software-Developer auf die Verwendung eines Timestamps in einem Code Signing-Zertifikat verzichten – wenn z. B. ein Nachweis darüber, wann die Software signiert wurde, nicht erforderlich ist. Die Entscheidung, ob ein Timestamp mit einem Code Signing-Zertifikat verwendet werden soll oder nicht, hängt von den spezifischen Bedürfnissen und Anforderungen des Software-Developers ab.

Dennoch: die Nutzung eines Timestamp ist ein entscheidendes Merkmal für das Signieren von Code und bietet eine zusätzliche Sicherheitsebene, um dessen Gültigkeit zu verlängern.

HOLEN SIE SICH JETZT IHR CODE SIGNING-ZERTIFIKAT


Newsletter anmelden

InterNetXPress Newsletter

Werden Sie jetzt Teil von tausenden InterNetXPress-Lesern!
2x im Monat Jederzeit kündbar
Ich habe die Datenschutzerklärung zur Kenntnis genommen. Durch Anklicken „Abonnieren” willige ich ein, dass meine E-Mail-Adresse elektr. erhoben und gespeichert wird.

Hinweis: Sie können Ihre Einwilligung jederzeit ohne Angabe von Gründen für die Zukunft
per E-Mail datenschutz@internetx.com widerrufen.
Wenn es um Domain-Services geht, sollten Sie diesen Namen unbedingt in Ihrem Adressbuch haben: Claus Barche. Mit mehr als 15 Jahren Erfahrung in der…
Im Snapshot Podcast unterhalten wir uns mit schlauen Köpfen und klugen Unternehmer:innen zu Themen aus den Bereichen der Digitalisierung, dem Online…
InterNetX blog cover Keith Mitchell from DNS-OARC
Das DNS ist ein kritisches System, das die Mitarbeit aller Beteiligten erfordert. Keith Mitchell, ein wahrer Internet-Experte, weiß das aus erster…
european e-commerce shops and their domains
Welche TLDs werden in Europa am häufigsten für den E-Commerce genutzt? Finden wir heraus, wie europäische Online-Shops Domains verwenden.