Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
de:dfnpki:tcs:2020:codesigning [2025/06/05 13:26] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:dfnpki:tcs:2020:codesigning [2025/06/05 13:26] (aktuell) – ↷ Seite von de:dfnpki:tcs:codesigning nach de:dfnpki:tcs:2020:codesigning verschoben Antonio Liu | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Code Signing-Zertifikate===== | ||
+ | |||
+ | Prinzipiell stehen zwei verschiedene CodeSigning-Zertifikattypen zur Verfügung: | ||
+ | |||
+ | * OV Code Signing für die Signatur von Java JARs und MS Office Macros. | ||
+ | * Beantragung per E-Mail-Einladung aus SCM heraus | ||
+ | * Voraussetzung: | ||
+ | * Manueller Prozess auf Seiten von Sectigo mit Verzögerungen von wenigen Stunden bis mehrere Tagen. Bitte Support-Ticket mit "Order Number" | ||
+ | |||
+ | * EV Code Signing für Signaturen, die in Microsoft SmartScreen per Default ein höheres Vertrauen besitzen | ||
+ | * Kostenpflichtiger Prozess außerhalb von SCM | ||
+ | |||
+ | ==== OV Code Signing ==== | ||
+ | |||
+ | ===Vorbereitung der E-Mail-Einladung=== | ||
+ | |||
+ | Für die Erstellung von OV-Code Signing-Zertifikaten in SCM ist eine gewisse Vorbereitung notwendig. Insbesondere muss ein Account in einem '' | ||
+ | |||
+ | - Im SCM unter ☰-> | ||
+ | - Mit dem grünen Button " | ||
+ | - Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist | ||
+ | - Als Typ "Code Signing certificate enrollment form" setzen | ||
+ | - Im folgenden Dialog unter Tab " | ||
+ | - Mit " | ||
+ | - Oben auf " | ||
+ | - Im daraufhin geöffneten Popup-Fenster über mit dem grünen " | ||
+ | - Einen sprechenden Namen für den Code Signing Web Form Account vergeben, der auf Ihre Einrichtung hindeutet. | ||
+ | - Als " | ||
+ | - Als Zertifikatprofile stehen '' | ||
+ | - Gewünschtes Zertifikatprofil aus der Drop-Down-Liste auswählen. | ||
+ | - Als "CSR Generation Method" | ||
+ | - Mit " | ||
+ | |||
+ | Bitte keine fremden '' | ||
+ | |||
+ | Alte Enrollment Forms und darin bestehende Code Signing Web Form Accounts sollten nur nach sorgfältiger Abwägung gelöscht werden, da diese unter ihrer URL noch Selbstverwaltungsmöglichkeiten (insb. Sperrung) der bereits unter diesen Enrollment Forms und Account ausgestellten Code Signing-Zertifikate bieten. | ||
+ | |||
+ | Dann zum manuellen Auslösen der einzelnen Einladungs-Mails durch (D)RAOs unterhalb von ☰-> | ||
+ | |||
+ | - Mit dem " | ||
+ | - Mit dem grünen " | ||
+ | - Es muss die E-Mail-Adresse angegeben werden, an die die Einladungs-E-Mail verschickt wird. | ||
+ | - Es muss der " | ||
+ | - Es muss einer der vorher von der Einrichtung/ | ||
+ | - Abschließend auf den " | ||
+ | |||
+ | Die eingegangenen Zertifikatanträge für Code Signing-Zertifikate bzw. die ausgestellten Code Signing-Zertifikate sind im SCM unterhalb von ☰-> | ||
+ | |||
+ | ===Vorgehen bei der Beantragung=== | ||
+ | |||
+ | Die Einladungs-E-Mail muss dann folgendermaßen bearbeitet werden: | ||
+ | |||
+ | 0. Bei der Beschaffung: | ||
+ | |||
+ | 1. Yubikey vorbereiten: | ||
+ | * PIN setzen. Achtung: Es gibt Werkzeuge, die das Setzen von PINs mit einer Länge von mehr als 8 Zeichen erlauben. Diese werden von der PKCS11-Library ykcs11 **nicht** unterstützt, | ||
+ | * Default PIV Management Key vom Default 010203040506070801020304050607080102030405060708 auf was " | ||
+ | * PUK setzen. | ||
+ | |||
+ | 2. Schlüssel erzeugen und den öffentlichen Teil in eine Datei ausgeben: | ||
+ | < | ||
+ | yubico-piv-tool -a generate --slot=9c --pin-policy=once -k -A ECCP384 -o PublicKeyFile.key | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | 3. CSR erzeugen und in eine Datei ausgeben: | ||
+ | < | ||
+ | yubico-piv-tool -a verify-pin -a request-certificate --slot=9c | ||
+ | </ | ||
+ | |||
+ | (-S < | ||
+ | |||
+ | Sollte '' | ||
+ | < | ||
+ | ykman piv certificates request -s " | ||
+ | </ | ||
+ | |||
+ | 4. Key Attestation erzeugen: | ||
+ | < | ||
+ | yubico-piv-tool --action=attest --slot=9c > Slot9cAttestation.pem | ||
+ | </ | ||
+ | (funktioniert nur für nach dieser Anleitung erzeugte Keys, nicht für anderweitig importierte) | ||
+ | |||
+ | 5. Intermediate aus dem Yubikey auslesen | ||
+ | < | ||
+ | yubico-piv-tool --action=read-certificate --slot=f9 > intermediate.pem | ||
+ | </ | ||
+ | |||
+ | 6. Attestation-Bundle für Sectigo Webinterface erzeugen | ||
+ | < | ||
+ | cat Slot9cAttestation.pem intermediate.pem > attestation_bundle.pem | ||
+ | base64 -w 64 attestation_bundle.pem > attestation_bundle.b64 | ||
+ | </ | ||
+ | Oder Windows: | ||
+ | < | ||
+ | type Slot9aAttestation.pem intermediate.pem > attestation.pem | ||
+ | certutil -encode attestation.pem attestation_bundle.pem | ||
+ | findstr /v CERTIFICATE attestation_bundle.pem > attestation_bundle.b64 | ||
+ | </ | ||
+ | |||
+ | |||
+ | 7. Antrag stellen: | ||
+ | * Die Datei request.csr aus Schritt 3 als CSR in das per E-Mail-Einladung übermittelte Formular eingeben | ||
+ | * Den Inhalt der Datei attestation_bundle.b64 aus Schritt 6 in das Feld "Key Attestation" | ||
+ | |||
+ | 8. Sectigo bearbeitet den Antrag. Mit Stand 2024-01 handelt es sich um einen manuellen Prozess auf Seiten von Sectigo mit Verzögerungen von wenigen Stunden bis mehreren Tagen. Bitte erstellen Sie gegebenenfalls ein Support-Ticket nach [[de: | ||
+ | |||
+ | 9. Sectigo stellt das Zertifikat aus und verschickt eine E-Mail mit Links auf Zertifikatdateien | ||
+ | |||
+ | 10. Aufspielen der von Sectigo gelieferten Zertifikatdatei aus dem Link "as Certificate only, PEM encoded:" | ||
+ | |||
+ | ===Code Signing mit Yubikey FIPS=== | ||
+ | |||
+ | **Windows: | ||
+ | |||
+ | **Java-Code: | ||
+ | * Installation der Yubico PKCS# | ||
+ | * Abspeichern des von Sectigo gelieferten Zertifikats per Link aus der Auslieferungs-E-Mail "as Certificate (w/ issuer after)" | ||
+ | * Datei ykcs11.conf anlegen mit Inhalt: | ||
+ | < | ||
+ | name = ykcs11 | ||
+ | library = <Pfad zur libykcs11.so> | ||
+ | </ | ||
+ | * Signieren per Aufruf: | ||
+ | < | ||
+ | jarsigner -keystore NONE -certchain certchain.pem -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== EV Code Signing ==== | ||
+ | |||
+ | EV Code Signing-Zertifikate, | ||
+ | |||
+ | Die Beantragung erfolgt außerhalb des Cert-Managers. Eine Anleitung findet sich unter [[https:// | ||