Java Code Signing-Leitfaden

In diesem Handbuch können Sie Ihren Java-Code entweder mit einem signieren OV / IV or EV Codesignaturzertifikat von SSL.com. Diese Anweisungen setzen voraus, dass das Java Development Kit (JDK) auf Ihrem Computer installiert ist und dass das keytool und jarsigner Befehle sind in Ihrem PATH enthalten. Bei den Code-Signatur-Anweisungen von Yubikey wird davon ausgegangen, dass Ihr Zertifikat in Steckplatz 9a von a installiert ist YubiKey FIPS Token, da sie von SSL.com geliefert werden.

Ab dem 1. Juni 2023Die Code Signing-Zertifikate Organization Validation (OV) und Individual Validation (IV) von SSL.com wurden entweder auf USB-Tokens gemäß Federal Information Processing Standard 140-2 (FIPS 140-2) oder über unseren Cloud-Code Signing-Service eSigner ausgestellt. Diese Änderung ist konform mit den neuen Schlüsselspeicheranforderungen des Certificate Authority/Browser (CA/B) Forums, um die Sicherheit für Codesignaturschlüssel zu erhöhen.

Wenn Sie noch kein Codesignaturzertifikat haben und nicht sicher sind, welchen Typ Sie benötigen, lesen Sie bitte diese FAQ.

SSL.com OV / IV-Codesignatur Zertifikate sind eine kostengünstige Möglichkeit, Ihren Code vor unbefugten Manipulationen und Kompromissen zu schützen. Sie sind für nur wenig Geld erhältlich $ 64.50 pro Jahr.

BESTELLEN SIE JETZT!

OV/IV-Code-Signierung (nur für OV/IV-Zertifikate, die vor dem 1. Juni 2023 ausgestellt wurden)

Konfiguration

Methode 1: Generieren CSR und PFX-Datei im Browser

Die einfachste Methode, um schnell mit dem Signieren von Java-Code zu beginnen, ist das Generieren von a CSR und PFX-Datei, wenn Sie Ihr Zertifikat von SSL.com abrufen und in einem neuen Java-Keystore installieren.

Hinweis: Es ist auch möglich, Ihre zu unterschreiben .jar Dateien direkt mit einer nicht konvertierten PFX-Datei durch Hinzufügen der -storetype pkcs12 Fahne zum jarsigner Befehl.
  1. Befolgen Sie die Schritte in Bestellen und Abrufen von Codesignaturzertifikaten um Ihr Zertifikat zu bestellen und eine PFX-Datei mit Ihrem Zertifikat und Ihrem privaten Schlüssel herunterzuladen.
  2. Importieren Sie den PFX mit dem folgenden Befehl in einen neuen Schlüsselspeicher mit demselben Kennwort. (Ersetzen MY-CERTIFICATE.p12 und MY-KEYSTORE.jks mit dem tatsächlichen Namen Ihrer PFX-Datei und dem Dateinamen, den Sie Ihrem Keystore geben möchten. Beachten Sie auch, dass die destalias ist beliebig und Sie können bei Bedarf einen anderen Aliaswert verwenden.)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias Codesigning
    Hinweis: Der Wert für -srcalias für die von SSL.com heruntergeladene PFX-Datei sollte dies normalerweise sein 1Sie können dies jedoch bestätigen, indem Sie den Befehl ausführen keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 und Überprüfen des angezeigten Werts für Alias name.
  3. Sie werden aufgefordert, ein Kennwort für den Zielschlüsselspeicher und anschließend das Quellschlüsselspeicherkennwort (das Kennwort, das Sie beim Erstellen des PFX eingegeben haben) einzugeben. Möglicherweise wird auch eine Warnmeldung angezeigt, die mit beginnt Warning: The JKS keystore uses a proprietary format. Sie können diese Meldung ignorieren.

Methode 2: Schlüsselpaar generieren und CSR mit Java

Wenn Sie es vorziehen, Ihr Schlüsselpaar zu generieren und CSR Befolgen Sie mit Java die Schritte in diesem Abschnitt. Der Prozess ist der gleiche, mit dem ein erstellt wird CSR für ein SSL /TLS Bescheinigung auf Java.

Erstellen Sie einen Schlüsselspeicher und ein Schlüsselpaar
  1. Zuerst erstellen wir ein Schlüsselspeicher- und ein öffentliches / privates Schlüsselpaar. Java verwendet Dateien mit der Erweiterung .jks (Java KeyStore) zum Speichern von Zertifikaten und kryptografischen Schlüsseln. Geben Sie den folgenden Befehl ein, um ein Schlüsselspeicher- und ein 3072-Bit-RSA-Schlüsselpaar zu generieren. (Ersetzen MY-KEYSTORE.jks mit dem Namen, den die Datei haben soll.)
    keytool -genkeypair -alias Codesigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Sie erhalten eine Reihe von Eingabeaufforderungen. Erstellen und überprüfen Sie zunächst ein Kennwort für den Schlüsselspeicher und geben Sie dann die angeforderten Informationen ein und überprüfen Sie sie. (Ersetzen Sie die in Großbuchstaben angezeigten Werte durch Ihre eigenen Informationen.)
    Keystore-Passwort eingeben: Neues Passwort erneut eingeben: Wie lautet Ihr Vor- und Nachname? [Unbekannt]: VORNAME NACHNAME Wie lautet der Name Ihrer Organisation? [Unbekannt]: UNTERNEHMEN Wie heißt Ihre Stadt oder Gemeinde? [Unbekannt]: STADT Wie heißt Ihr Staat oder Ihre Provinz? [Unbekannt]: STATE Wie lautet der aus zwei Buchstaben bestehende Ländercode für dieses Gerät? [Unbekannt]: USA Ist CN=VORNAME NACHNAME, OU=ABTEILUNG, O=FIRMA, L=STADT, ST=STAAT, C=US richtig? [Nein Ja
  3. Die Keystore-Datei wurde generiert und Sie können eine erstellen CSR.
Generieren CSR
  1. Geben Sie den folgenden Befehl ein, um a zu generieren CSR aus dem Keystore, den wir gerade erstellt haben. (Ersetzen MY-KEYSTORE.jks mit dem Wert, den Sie beim Erstellen des Keystores verwendet haben, und MY-CSR.csr mit dem Namen, den Sie für die verwenden möchten CSR.)
    keytool -certreq -alias Codesigning -file MY-CSR.csr -keystore MEIN-KEYSTORE.jks
  2. Geben Sie das Kennwort ein, das Sie beim Generieren des Schlüsselspeichers erstellt haben.
    Geben Sie das Keystore-Passwort ein:
  3. Das CSR wurde erschaffen. Wenn Sie bereit sind, Ihr Zertifikat bei SSL.com zu bestellen, öffnen Sie die Datei in einem Texteditor, um sie zu kopieren und in die Datei einzufügen CSR Feld bei der Bestellung. Der Inhalt der Datei sieht ungefähr so ​​aus wie im folgenden Beispiel:
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
Zertifikat bestellen und abrufen
  1. Befolgen Sie die Schritte in Bestellen und Abrufen von Codesignaturzertifikaten durch Schritt 24. Anstatt sofort auf zu klicken Zertifikat generieren Aktivieren Sie das Kontrollkästchen ich habe mein eigenes CSR.
    ich habe mein eigenes CSR
  2. Fügen Sie Ihre ein CSR in das Formularfeld und klicken Sie auf Zertifikat generieren .
    Pasta CSR und Zertifikat generieren
  3. Klicken Sie auf die Herunterladen Schaltfläche und speichern Sie die .crt Datei an der Stelle, an der Sie Ihren Keystore generiert haben.
    Herunterladen
Zertifikat in Keystore importieren
  1. Verwenden Sie den folgenden Befehl, um das Zertifikat in Ihre Java-Keystore-Datei zu importieren. (Ersetzen Sie MY-CERTIFICATE.crt und MY-KEYSTORE.jks durch die tatsächlichen Dateinamen.)
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias Codesigning
  2. Geben Sie das Keystore-Passwort ein, wenn Sie dazu aufgefordert werden.
    Geben Sie das Keystore-Passwort ein:  
  3. Ihr Zertifikat ist im Keystore installiert und Sie können mit dem Signieren von Dateien beginnen.
    Die Zertifikatantwort wurde im Keystore installiert

Dateien mit Jarsigner signieren

  1. Verwenden Sie den folgenden Befehl, um a eine digitale Signatur mit Zeitstempel hinzuzufügen .jar Datei. (Ersetzen /PATH/TO/MY-KEYSTORE.jks und MY-JAR.jar mit den tatsächlich verwendeten Dateinamen. Wenn Sie beim Einrichten Ihres Keystores einen anderen Alias ​​verwendet haben, ersetzen Sie diesen codesigning im Befehl.)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar-Codesignierung
    Hinweis: Es ist auch möglich, Ihre zu unterschreiben .jar Dateien direkt mit einer nicht konvertierten PFX-Datei durch Hinzufügen der -storetype pkcs12 Fahne zum jarsigner Befehl.

    Hinweis: Standardmäßig unterstützt SSL.com Zeitstempel von ECDSA-Schlüsseln.

    Wenn Sie auf diesen Fehler stoßen: The timestamp certificate does not meet a minimum public key length requirement, sollten Sie sich an Ihren Softwareanbieter wenden, um Zeitstempel von ECDSA-Schlüsseln zuzulassen.

    Wenn Ihr Softwareanbieter die Verwendung des normalen Endpunkts nicht zulassen kann, können Sie diesen Legacy-Endpunkt verwenden http://ts.ssl.com/legacy um einen Zeitstempel von einer RSA-Zeitstempeleinheit zu erhalten.
  2. Geben Sie das Keystore-Passwort an der Eingabeaufforderung ein.
    Geben Sie die Passphrase für den Keystore ein: 
  3. Die Datei ist jetzt signiert. Sie können die Signatur mit dem folgenden Befehl überprüfen:
    jarsigner -verify -verbose MY-JAR.jar
  4. Wenn Ihre Datei erfolgreich signiert wurde, sollte die Ausgabe des Befehls folgende Zeile enthalten:
    s = Unterschrift wurde verifiziert
    

 

IV-, OV- und EV-Code-Signierung mit YubiKey

SSL.com EV-Code-Signierung Zertifikate bieten Windows 10-Code-Signierung im Kernel-Modus und eine sofortige Steigerung der Reputation von SmartScreen $ 240.00 pro Jahr. Sie werden sicher geliefert YubiKey FIPS USB-Token mit Zwei-Faktor-Authentifizierung.

BESTELLEN SIE JETZT!

Konfiguration

Installieren Sie den PKCS # 11-Treiber und erstellen Sie die Datei eToken.cfg

Windows
  1. Installieren Sie OpenSC, indem Sie den Anweisungen in OpenSC folgen Windows-Schnellstart.
  2. Suchen Sie den OpenSC PKCS # 11-Treiber. Der Standardinstallationsort ist C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Erstellen Sie eine Konfigurationsdatei und speichern Sie sie an einem geeigneten Ort (z. B. in Ihrem Home-Verzeichnis). Der Dateiname ist beliebig, aber in diesem Handbuch werden wir verwenden yubikey-pkcs11-java.cfg. Die Datei sollte folgende Informationen enthalten:
    name = OpenSC-PKCS11 description = SunPKCS11 über OpenSC library = C: \ Programme \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
  1. Installieren OpenSC. Wenn du benutzt Homebrew Als Paketmanager können Sie OpenSC mit dem folgenden Befehl installieren:
    brauen installieren opensc
  2. Suchen Sie den OpenSC PKCS # 11-Treiber. Wenn Sie mit Homebrew installiert haben, sollte die Datei unter verfügbar sein /usr/local/lib/opensc-pkcs11.so.
  3. Erstellen Sie eine Konfigurationsdatei und speichern Sie sie an einem geeigneten Ort (z. B. in Ihrem Home-Verzeichnis). Der Dateiname ist beliebig, aber in diesem Handbuch werden wir verwenden yubikey-pkcs11-java.cfg. Die Datei sollte folgende Informationen enthalten:
    name = OpenSC-PKCS11 description = SunPKCS11 über OpenSC library = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Dateien mit Jarsigner signieren

  1. Verwenden Sie den folgenden Befehl, um a eine digitale Signatur mit Zeitstempel hinzuzufügen .jar Datei. (Ersetzen MY-JAR.jar mit dem tatsächlichen Dateinamen, den Sie verwenden.)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Zertifikat für PIV-Authentifizierung"
  2. Geben Sie Ihre YubiKey-PIN an der Passphrase-Eingabeaufforderung ein.
    Geben Sie die Passphrase für den Keystore ein: 
  3. Die Datei ist jetzt signiert. Sie können die Signatur mit dem folgenden Befehl überprüfen:
    jarsigner -verify -verbose MY-JAR.jar
  4. Wenn Ihre Datei erfolgreich signiert wurde, sollte die Ausgabe des Befehls folgende Zeile enthalten:
    s = Unterschrift wurde verifiziert
    
Vielen Dank, dass Sie sich für SSL.com entschieden haben! Bei Fragen wenden Sie sich bitte per E-Mail an Support@SSL.com, Anruf 1-877-SSL-SECUREoder klicken Sie einfach auf den Chat-Link unten rechts auf dieser Seite. Antworten auf viele häufig gestellte Support-Fragen finden Sie auch in unserer Wissensbasis.

 

Twitter
Facebook
LinkedIn
Reddit
E-Mail

Bleiben Sie informiert und sicher

SSL.com ist ein weltweit führendes Unternehmen im Bereich Cybersicherheit, PKI und digitale Zertifikate. Melden Sie sich an, um die neuesten Branchennachrichten, Tipps und Produktankündigungen von zu erhalten SSL.com.

Wir würden uns über Ihr Feedback freuen

Nehmen Sie an unserer Umfrage teil und teilen Sie uns Ihre Meinung zu Ihrem letzten Kauf mit.