Code-Signing-Zertifikate

Erstellung von Code-Signing-Zertifikaten

Wenn Sie selbst Software erstellen und digital signieren wollen, benötigen Sie ein spezielles, sog. Code-Signing-Zertifikat.

Für die Erstellung des Zertifikatantrags und zum Signieren Ihrer Software benötigen Sie zwingend ein selbst zu beschaffendes Hardware-Token mit FIPS-Zerttifizierung. Getestet ist die Erstellung mit einem Yubikey 5 NFC FIPS. Tokens ohne FIPS können keine Key-Attestation erzeugen und funktionieren daher nicht!

Anschließend melden Sie sich per E-Mail bei pki@uni-bremen.de. Wir erzeugen dann beim Zertifikatsanbieter einen Link, den Sie per E-Mail erhalten und über den Sie das Zertifikat beantragen können. Zur Beantragung benötigen Sie einen Certificate Signing Request (CSR) und eine sog. Key Attestation. Die Erzeugung ist im folgenden anhand des unter Linux verfügbaren Werkzeug ykman beschrieben:

  1. Yubikey vorbereiten: Aktivieren Sie, falls noch nicht geschehen, die PIV-Funktionalität des Keys.
  2. Yubikey vorbereiten: Setzen Sie eine PIN mit einer Länge zwischen 6 und 8 Zeichen.
  3. Yubikey vorbereiten: Ändern Sie den Default-Management-Key.
  4. Yubikey vorbeireiten: Setzen Sie die PUK
     
  5. Erzeugen Sie den Public-Key:
    ykman piv keys generate -a ECCP384 9c - > public.pem
     
  6. Erzeugen Sie den CSR:
    ykman piv certificates request -P "${pin}" -s "${subject}" 9c public.pem csr.pem
    Wählen Sie als Subject eine Zeichenkette der Form CN=<Ihr vollständiger Name>/O=Universität Bremen/ST=Bremen/C=DE
     
  7. Erzeugen der Key Attestation:
    ykman piv keys attest 9c - > slot_9c_attestation.pem
     
  8. Intermediate Certificate exportieren:
    ykman piv certificates export f9 - > intermediate.pem
     
  9. Attestation-Bundle erzeugen:
    cat slot_9c_attestation.pem intermediate.pem > attestation_bundle.pem
    base64 -w 64 attestation_bundle.pem > attestation_bundle.b64

Die erzeugten Dateien csr.pem und attestation_bundle.b64  laden Sie im Sectigo-Webformular (der Link, den Sie per E-Mail bekommen haben) hoch. Nach Bearbeitung durch Sectigo erhalten Sie das Zertifikat per E-Mail.

Das DFN hat eine eigene Seite mit Informationen unter https://doku.tid.dfn.de/de:dfnpki:tcs:codesigning. Dort ist auch kurz beschrieben, wie Sie Ihre Software signieren. Die dort beschriebene Methode zum Erstellen des Antrags mittels yubico-piv-tool hat bei unseren Tests allerdings nicht funktioniert.

Aktualisiert von: PKI-Team