Java-kodsigneringsguide

Den här guiden kommer att komma igång med att signera din Java-kod med antingen en OV / IV or EV kodsigneringscertifikat från SSL.com. Dessa instruktioner förutsätter att Java Development Kit (JDK) är installerat på din dator och att keytool och jarsigner kommandon ingår i din PATH. Yubikey-kodsigneringsinstruktionerna förutsätter att ditt certifikat är installerat i kortplats 9a i a YubiKey FIPS token, eftersom de levereras av SSL.com.

Från och med 1 juni 2023, SSL.coms organisationsvalidering (OV) och individuell validering (IV) kodsigneringscertifikat har utfärdats antingen på Federal Information Processing Standard 140-2 (FIPS 140-2) USB-tokens eller genom vår eSigner molnkodsigneringstjänst. Denna förändring är i överensstämmelse med Certificate Authority/Browser (CA/B) Forums nya nyckellagringskrav för att öka säkerheten för kodsigneringsnycklar.

Om du inte har ett kodesigneringscertifikat ännu och inte är säker på vilken typ du behöver, vänligen läs denna FAQ.

SSL.com s OV / IV-kodsignering certifikat är ett ekonomiskt sätt att skydda din kod från obehörig manipulering och kompromiss, och är tillgängliga för så lite som $ 64.50 per år.

BESTÄLL NU

OV/IV-kodsignering (endast för OV/IV-certifikat utfärdade före 1 juni 2023)

konfiguration

Metod 1: Generera CSR och PFX-fil i webbläsaren

Den enklaste metoden för att komma igång snabbt med Java-kodsignering är att generera en CSR och PFX-fil när du hämtar ditt certifikat från SSL.com och installerar det i en ny Java-keystore.

Notera: Det är också möjligt att underteckna din .jar filer direkt med en omvandlad PFX-fil genom att lägga till -storetype pkcs12 flagga till jarsigner kommando.
  1. Följ stegen som visas i Beställa och hämta kodsigneringscertifikat för att beställa ditt certifikat och ladda ner en PFX-fil med ditt certifikat och privata nyckel.
  2. Importera PFX till en ny keystore med samma lösenord med hjälp av kommandot nedan. (Byta ut MY-CERTIFICATE.p12 och MY-KEYSTORE.jks med det faktiska namnet på din PFX-fil och filnamnet du vill ge din keystore. Observera också att destalias är godtyckligt och du kan använda ett annat aliasvärde om så önskas.)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codesign
    Notera: Värdet för -srcalias för PFX-filen som laddas ner från SSL.com bör normalt vara 1, men du kan bekräfta detta genom att köra kommandot keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 och kontrollera värdet som visas för Alias name.
  3. Du kommer att bli ombedd att ange ett lösenord för destinationsnyckellistan och sedan om källnyckellagerlösenordet (lösenordet du angav när du skapade PFX). Du kan också se ett varningsmeddelande som börjar med Warning: The JKS keystore uses a proprietary format. Du kan säkert ignorera detta meddelande.

Metod 2: Skapa nyckelpar och CSR med Java

Om du föredrar att skapa ditt nyckelpar och CSR med Java, följ stegen i det här avsnittet. Processen är samma som används för att skapa en CSR för en SSL /TLS certifikat i Java.

Skapa Keystore och Key Pair
  1. Först skapar vi ett nyckellager och ett offentligt / privat nyckelpar. Java använder filer med tillägget .jks (Java KeyStore) för att lagra certifikat och kryptografiska nycklar. Ange följande kommando för att skapa en nyckellager och 3072-bitars RSA-nyckelpar. (Byta ut MY-KEYSTORE.jks med det namn du vill att filen ska ha.)
    keytool -genkeypair -alias kodsignering -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Du kommer att presenteras med en serie uppmaningar. Skapa och verifiera först ett lösenord för nyckellagret, ange sedan och verifiera den begärda informationen. (Ersätt värdena som visas i versaler med din egen information.)
    Ange nyckellagringslösenord: Ange nytt lösenord igen: Vad är ditt för- och efternamn? [Okänt]: FIRSTNAME LASTNAME Vad heter din organisation? [Okänt]: FÖRETAG Vad heter din stad eller ort? [Okänd]: STAD Vad är namnet på din stat eller provins? [Okänd]: STAT Vad är landskoden på två bokstäver för den här enheten? [Okänd]: USA Är CN=FIRSTNAME EFTERNAMN, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US korrekt? [Nej Ja
  3. Keystore-filen har genererats och du är redo att skapa en CSR.
Generera CSR
  1. Ange följande kommando för att skapa en CSR från keystore vi just skapade. (Byta ut MY-KEYSTORE.jks med det värde du använde när du skapade keystore och MY-CSR.csr med namnet du vill använda för CSR.)
    keytool -certreq -alias kodsignering -fil MY-CSR.csr -keystore MY-KEYSTORE.jks
  2. Ange lösenordet som du skapade när du skapade keystore.
    Ange nyckelhanteringslösenord:
  3. Smakämnen CSR Har skapats. Om du är redo att beställa ditt certifikat från SSL.com öppnar du filen i en textredigerare för att kopiera och klistra in i CSR fält vid beställning. Innehållet i filen ser ut ungefär som exemplet som visas nedan:
    -----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-----
Beställ och hämta certifikat
  1. Följ stegen som visas i Beställa och hämta kodsigneringscertifikat genom steg 24. I stället för att omedelbart klicka på Generera certifikat knappen, markera rutan märkt jag har min egen CSR.
    jag har min egen CSR
  2. Klistra in din CSR i formulärfältet och klicka på Generera certifikat knapp.
    Klistra in CSR och generera certifikat
  3. Klicka på Download knappen och spara .crt filen på samma plats som du skapade din keystore.
    Download
Importera certifikat till Keystore
  1. Använd följande kommando för att importera certifikatet till din Java-keystore-fil. (Ersätt MY-CERTIFICATE.crt och MY-KEYSTORE.jks med de faktiska filnamnen.)
    keytool -importcert -fil MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codesigning
  2. Ange lösenordet för keystore när du uppmanas till det.
    Ange nyckelhanteringslösenord:  
  3. Ditt certifikat är installerat i nyckellagret och du är redo att börja signera filer.
    Certifikatsvar installerades i keystore

Signera filer med Jarsigner

  1. Använd följande kommando för att lägga till en tidsstämplad digital signatur till a .jar fil. (Byta ut /PATH/TO/MY-KEYSTORE.jks och MY-JAR.jar med de faktiska filnamnen du använder. Om du använde ett annat alias när du skapade din keystore, ersätt den med codesigning i kommandot.)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar kodsignering
    Obs! Det är också möjligt att signera din .jar filer direkt med en omvandlad PFX-fil genom att lägga till -storetype pkcs12 flagga till jarsigner kommando.

    Notera: Som standard stöder SSL.com tidsstämplar från ECDSA-nycklar.

    Om du stöter på det här felet: The timestamp certificate does not meet a minimum public key length requirement, bör du kontakta din programvaruleverantör för att tillåta tidsstämplar från ECDSA-nycklar.

    Om det inte finns något sätt för din programvaruleverantör att tillåta att den normala slutpunkten används, kan du använda denna äldre slutpunkt http://ts.ssl.com/legacy för att få en tidsstämpel från en RSA Timestamping Unit.
  2. Ange lösenordet för nyckellagret vid uppmaningen.
    Ange lösenfras för keystore: 
  3. Filen är nu signerad. Du kan verifiera signaturen med följande kommando:
    jarsigner -verify -verbose MY -JAR.jar
  4. Om din fil har signerats framgångsrikt bör kommandoutgången innehålla den här raden:
    s = signatur verifierades
    

 

IV-, OV- och EV-kodsignering med YubiKey

SSL.com s EV-kodsignering certifikat erbjuder kodning av Windows 10-kärnläge och en omedelbar ökning av SmartScreen-rykte, allt för så lågt som $ 240.00 per år. De levereras på säkert sätt YubiKey FIPS USB-tokens med tvåfaktorautentisering.

BESTÄLL NU

konfiguration

Installera PKCS # 11-drivrutin och skapa eToken.cfg-fil

Windows
  1. Installera OpenSC genom att följa instruktionerna i OpenSC Windows snabbstart.
  2. Leta reda på OpenSC PKCS # 11-drivrutinen. Standardinstallationsplatsen är C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Skapa en konfigurationsfil och spara den på en bekväm plats (som din hemkatalog). Filnamnet är godtyckligt, men i den här guiden kommer vi att använda yubikey-pkcs11-java.cfg. Filen ska innehålla följande information:
    namn = OpenSC-PKCS11 beskrivning = SunPKCS11 via OpenSC-bibliotek = C: \ Programfiler \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
MacOS
  1. installera OpenSC. Om du använder Homebrew som pakethanterare kan du installera OpenSC med följande kommando:
    brygga installera opensc
  2. Leta reda på OpenSC PKCS # 11-drivrutinen. Om du installerade med Homebrew bör filen finnas tillgänglig på /usr/local/lib/opensc-pkcs11.so.
  3. Skapa en konfigurationsfil och spara den på en bekväm plats (som din hemkatalog). Filnamnet är godtyckligt, men i den här guiden kommer vi att använda yubikey-pkcs11-java.cfg. Filen ska innehålla följande information:
    namn = OpenSC-PKCS11 beskrivning = SunPKCS11 via OpenSC-bibliotek = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Signera filer med Jarsigner

  1. Använd följande kommando för att lägga till en tidsstämplad digital signatur till a .jar fil. (Byta ut MY-JAR.jar med det faktiska filnamn du använder.)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Certificate for PIV Authentication"
  2. Ange din YubiKey PIN vid lösenordsfrasen.
    Ange lösenfras för keystore: 
  3. Filen är nu signerad. Du kan verifiera signaturen med följande kommando:
    jarsigner -verify -verbose MY -JAR.jar
  4. Om din fil har signerats framgångsrikt bör kommandoutgången innehålla den här raden:
    s = signatur verifierades
    
Tack för att du valde SSL.com! Om du har några frågor, vänligen kontakta oss via e-post på Support@SSL.com, ring upp 1-877-SSL-SECUREeller klicka bara på chattlänken längst ned till höger på den här sidan. Du kan också hitta svar på många vanliga supportfrågor i vår kunskapsbas.

 

Twitter
Facebook
LinkedIn
reddit
E-postadress

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.