Wie man ein Codesignatur-Zertifikat beantragt und verwendet
Einführung in Codesignatur-Zertifikate
Codesignatur-Zertifikate werden verwendet, um Software-Code digital zu signieren. Sie verifizieren die Identität des Herausgebers und stellen die Integrität des Codes sicher. Sie geben den Benutzern die Gewissheit, dass die Software aus einer vertrauenswürdigen Quelle stammt und nach der Veröffentlichung nicht manipuliert oder bösartig verändert wurde. Dies ist entscheidend für den Aufbau von Benutzervertrauen und die Verhinderung der Verbreitung von Schadsoftware.
Verwendungszwecke von Codesignatur-Zertifikaten:
- Verifizierung der Herausgeberidentität: Ein Codesignatur-Zertifikat verifiziert die Quelle der Software und gibt den Benutzern die Sicherheit, dass sie von einem rechtmäßigen Entwickler oder einer Organisation stammt.
- Sicherstellung der Code-Integrität: Die digitale Signatur kann nachweisen, dass der Code seit seiner Signierung nicht geändert wurde, um die Injektion oder Manipulation von Schadsoftware zu verhindern.
- Steigerung des Benutzervertrauens: Signierte Software kann Sicherheitswarnungen des Betriebssystems oder Browsers beseitigen und das Vertrauen der Benutzer in die Software verbessern, was zur Installation und Nutzung ermutigt.
- Verhinderung der Verbreitung von Schadsoftware: Eine Codesignatur kann Benutzern helfen, unsignierte oder aus unbekannten Quellen stammende potenziell schädliche Software zu identifizieren und zu vermeiden.
Beantragung eines Codesignatur-Zertifikats über ServBay
Öffnen Sie das SSL-Zertifikatsverwaltungs-Panel: Klicken Sie in der Seitenleiste von ServBay auf "SSL Certificates", um zur Zertifikatsverwaltungsplattform zu gelangen.
Klicken Sie auf die Schaltfläche Hinzufügen: Klicken Sie oben rechts auf das "+"-Symbol.
Füllen Sie die Zertifikatsinformationen aus: Auf der Seite "Request Certificate" geben Sie die folgenden Informationen ein:
- Common Name: Geben Sie den Namen Ihrer Organisation oder Ihren persönlichen Namen ein. Zum Beispiel
ServBay, LLC
oderSam NG
. - Usage Purpose: Wählen Sie den Verwendungszweck des Zertifikats, wählen Sie
Code Signing
. - Request Method: Wählen Sie
ServBay CA
. - Issuer: Wählen Sie
ServBay User CA
. - Algorithm: Wählen Sie einen Verschlüsselungsalgorithmus, zum Beispiel
ECC
oderRSA
. - Key Length: Wählen Sie die Schlüssellänge, zum Beispiel
384
oder2048
. - Password: Wichtig! Richten Sie ein Passwort ein, um Ihren privaten Schlüssel zu schützen. Merken Sie sich dieses Passwort, da es bei Verlust nicht wiederhergestellt werden kann. Das Standardpasswort ist
ServBay.dev
.
- Common Name: Geben Sie den Namen Ihrer Organisation oder Ihren persönlichen Namen ein. Zum Beispiel
Klicken Sie auf die Schaltfläche "Request": Nachdem Sie alle Schritte abgeschlossen haben, klicken Sie auf die Schaltfläche "Request", um den Zertifikatsantrag einzureichen. ServBay wird das Zertifikat automatisch ausstellen.
Export und Verwendung des Zertifikats
- Gehen Sie zum SSL-Zertifikatsverwaltungs-Panel.
- Finden Sie das ausgestellte Codesignatur-Zertifikat.
- Klicken Sie auf die Schaltfläche Aktion: Klicken Sie auf das Export-Symbol rechts neben dem Zertifikat.
- Wählen Sie das Exportverzeichnis: Wählen Sie im aufpoppenden Fenster den Speicherort für das exportierte Zertifikat.
- Verwenden Sie ein Codesignatur-Tool: Importieren Sie die exportierte
.p12
Datei in Ihr Codesignatur-Tool (z.B.codesign
(macOS),signtool
(Windows) etc.) und entsperren Sie sie mit dem zuvor festgelegten Passwort. Danach können Sie das Zertifikat verwenden, um Ihren Code digital zu signieren.
Beispiel für das Signieren von Code mit einem Codesignatur-Zertifikat
$ gcc test.c -o /tmp/test # Verwenden von gcc zur Erstellung einer Test-Binärdatei
$ security find-identity -v -p codesigning # Nach Zertifikaten suchen, die für die Codesignierung verwendet werden können
1) ...
2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay, LLC"
2 valid identities found
$ codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test # Signieren mit der gefundenen Zertifikats-ID
test: existing signature replaced
$ codesign -dvvv /tmp/test # Überprüfen, ob die Signatur korrekt ist
Executable=/tmp/test
Identifier=test
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=445 flags=0x0(none) hashes=9+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639
CandidateCDHashFull sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
Hash choices=sha256
CMSDigest=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
CMSDigestType=2
CDHash=777e597ce37ad27e7b90d2aaaeeb9f1449170639
Signature size=7247
Authority=ServBay, LLC
Authority=ServBay Public CA - ECC Code Signing
Authority=ServBay Public CA - ECC Root
Timestamp=Nov 7, 2024 at 18:26:48
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=80
$ echo "abcde" > test # Manipulationsversuch an der Zertifikatsignatur der Binärdatei
$ codesign -dvvv test # Erneute Überprüfung der Signatur
test: code object is not signed at all
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Zertifikatsverlängerung
ServBays Codesignatur-Zertifikate haben eine Gültigkeitsdauer von 800 Tagen. Bevor das Zertifikat abläuft, können Sie auf die Schaltfläche rechts klicken, um es zu verlängern. Jedes Mal, wenn Sie es verlängern, beträgt die Gültigkeitsdauer das aktuelle Datum + 800 Tage.
Zertifikatslöschung
- Gehen Sie zum SSL-Zertifikatsverwaltungs-Panel.
- Finden Sie das zu löschende Zertifikat.
- Klicken Sie auf die Schaltfläche Aktion: Klicken Sie auf das Mülleimer-Symbol rechts neben dem Zertifikat.
- Löschung bestätigen: Wählen Sie im aufpoppenden Menü "Delete" und bestätigen Sie die Löschung.
Zusammenfassung
Hoffentlich hilft Ihnen dieses Dokument bei der Beantragung und Nutzung von Codesignatur-Zertifikaten auf der ServBay-Plattform. Bei Fragen wenden Sie sich bitte an den ServBay-Kundensupport.