Code Signing Zertifikate
Erweiterte Akzeptanz für Applikationen und Herkunftsnachweis.
Bei einem Code Signing-Zertifikat handelt es sich um eine digitale Signatur, welche die Identität des Software-Entwicklers und die Integrität des Programmcodes bestätigt. Es bestätigt auch, dass die heruntergeladene Software authentisch ist und nicht manipuliert wurde. Dies schafft Vertrauen in die Applikation und ist darum für Herausgaber von Software unabdingbar, um Ihren Nutzern maximale Sicherheit zu bieten.
So funktioniert das Code Signing-Zertifikat
Die Basis für Code Signing-Zertifikate bilden digitale Signaturen sowie eine unabhängige Zertifizierung des Codes durch eine dritte vertrauenswürdige Instanz. Dies dient gewissermaßen als Unterschrift für Ihren Code, somit legen Sie die Herkunft für den Benutzer offen.
Verschlüsselung durch den Entwickler

- Der Code wird durch eine einseitig gerichtete Hashfunktion geschickt. Dies erzeugt einen Hashwert von fixer Länge.
- Der Private Key des Entwicklers wird genutzt, um den Hashwert zu verschlüsseln.
- Der Hashwert wird mit dem Zertifikat und Hash-Algorithmus kombiniert, um einen Signaturblock zu erstellen.
- Der Signaturblock wird an den Programmcode angehängt.
Authentifizierungsschritte beim Download vom Programm

- Das Zertifikat wird untersucht und der Public Key wird von der Zertifizierungsstelle abgerufen.
- Der Hashwert wird dann mit Hilfe des Public Key entschlüsselt.
- Derselbe Hashalgorithmus, der zur Erstellung des Hashwerts verwendet wurde, wird erneut auf den Code angewandt, um einen zweiten Hashwert zu erstellen.
- Der zweite Hashwert wird nun mit dem Original verglichen.
Welche Unterschiede gibt es?
- für Windows 9x, XP, Vista und Windows 7 mit der bewährten Microsoft Authenticode- Technologie – für 32-Bit- und 64-Bit.
- Wichtigste Formate: exe-, .cab-, .dll-, .ocx-, .msi-, .xpi- und .xap-Dateien.
- für Sun Java bzw. für die auf über 850 Millionen Rechnern installierte „Java Runtime Environment“ (JRE) sowohl für Desktop-Computer als auch für mobile Endgeräte.
- Wichtigste Formate: .jar-Dateien und Java-Anwendungen.
- für Microsoft Office basierend auf Microsoft Visual Basic for Applications (VBA).
- Wichtigste Formate: VBA-Objekte, Skripts und Makros für .doc-, .xls- und .ppt-Dateien.
- für Adobe AIR und damit für eine der wichtigsten plattformunabhängigen Laufzeitumgebungen und Betriebssysteme wie Android, BlackBerry Tablet OS, iOS, Mac OS X und Windows.
- Wichtigste Formate: Rich Internet Applications, Adobe Ajax- und Flex-Dateien.
- für Mozilla und Netscape Objects, somit können dem Nutzer die zertifizierten Applikationen in den Browsern Firefox und Thunderbird als vertrauenswürdig angezeigt werden.
- Wichtigste Formate: Mozilla XPI Programmpakete und Browser-Add-ons.