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