Denne guiden får deg i gang med å signere Java-koden din med en OV / IV or EV kodesigneringssertifikat fra SSL.com. Disse instruksjonene forutsetter at Java Development Kit (JDK) er installert på datamaskinen din, og at keytool
og jarsigner
kommandoer er inkludert i PATH. Yubikey-kodesigneringsinstruksjonene forutsetter at sertifikatet ditt er installert i spor 9a i a YubiKey FIPS token, ettersom de sendes av SSL.com.
Hvis du ikke har et kodesigneringssertifikat ennå og ikke er sikker på hvilken type du trenger, kan du lese denne vanlige spørsmål.
OV/IV-kodesignering (kun for OV/IV-sertifikater utstedt før 1. juni 2023)
Konfigurasjon
Metode 1: Generer CSR og PFX-fil i nettleseren
Den enkleste metoden for å komme raskt i gang med Java-kodesignering er å generere en CSR og PFX-fil når du henter sertifikatet ditt fra SSL.com og installerer det i en ny Java-nøkkelbutikk.
.jar
filer direkte med en ikke-konvertert PFX-fil ved å legge til -storetype pkcs12
flagg til jarsigner
kommando.- Følg trinnene vist i Bestille og hente kodesigneringssertifikater å bestille sertifikatet ditt og laste ned en PFX-fil med sertifikatet og privatnøkkelen.
- Importer PFX til en ny tastelager med samme passord ved å bruke kommandoen nedenfor. (Erstatte
MY-CERTIFICATE.p12
ogMY-KEYSTORE.jks
med det faktiske navnet på PFX-filen din og filnavnet du vil gi nøkkelbutikken din. Merk også atdestalias
er vilkårlig, og du kan bruke en annen aliasverdi hvis ønskelig.)nøkkelverktøy -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codesigning
OBS: Verdien for-srcalias
for PFX-filen som er lastet ned fra SSL.com, skal det normalt være1
, men du kan bekrefte dette ved å kjøre kommandoenkeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
og sjekke verdien vist forAlias name
. - Du blir bedt om å få et passord for destinasjonsnøkkelbutikken, og deretter om kildetastaturens passord (passordet du oppga da du opprettet PFX). Det kan også hende du ser en advarsel fra og med
Warning: The JKS keystore uses a proprietary format
. Du kan trygt ignorere denne meldingen.
Metode 2: Generer nøkkelpar og CSR med Java
Hvis du foretrekker å generere nøkkelparet ditt og CSR med Java, følg trinnene i dette avsnittet. Prosessen er den samme som brukes til å lage en CSR for en SSL /TLS sertifikat i Java.
Lag Keystore og Key Pair
- Først oppretter vi et nøkkellager og et offentlig / privat nøkkelpar. Java bruker filer med utvidelsen
.jks
(Java KeyStore) for å lagre sertifikater og kryptografiske nøkler. Skriv inn følgende kommando for å generere en tastelager og 3072-biters RSA-nøkkelpar. (ErstatteMY-KEYSTORE.jks
med navnet du vil at filen skal ha.)nøkkelverktøy -genkeypair -alias kodesigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
- Du vil bli presentert for en serie med spørsmål. Først oppretter og verifiserer du et passord for tastaturet, deretter skriver du inn og verifiserer informasjonen du ber om. (Bytt ut verdiene som vises i all-caps med din egen informasjon.)
Skriv inn nøkkellagerpassord: Skriv inn nytt passord på nytt: Hva er ditt for- og etternavn? [Ukjent]: FIRSTNAME LASTNAME Hva er navnet på organisasjonen din? [Ukjent]: SELSKAP Hva er navnet på byen eller lokaliteten din? [Ukjent]: BY Hva er navnet på staten eller provinsen din? [Ukjent]: STATE Hva er landskoden på to bokstaver for denne enheten? [Ukjent]: USA Er CN=FIRSTNAME LASTNAME, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US korrekt? [nei]: ja
- Keystore-filen er generert, og du er klar til å opprette en CSR.
Generere CSR
- Skriv inn følgende kommando for å generere en CSR fra keystore vi nettopp opprettet. (Erstatte
MY-KEYSTORE.jks
med verdien du brukte da du opprettet tastaturet ogMY-CSR.csr
med navnet du vil bruke til CSR.)nøkkelverktøy -certreq -alias kodesigning -fil MY-CSR.csr -nøkkellager MY-KEYSTORE.jks
- Skriv inn passordet du opprettet da du genererte tastaturet.
Skriv inn passord for nøkkelbutikk:
- De CSR har blitt skapt. Hvis du er klar til å bestille sertifikatet ditt fra SSL.com, åpner du filen i et tekstredigeringsprogram for å kopiere og lime inn i CSR felt ved bestilling. Innholdet i filen vil se ut som eksemplet vist nedenfor:
-----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-----
Bestill og hent sertifikat
- Følg trinnene vist i Bestille og hente kodesigneringssertifikater fremfor trinn 24. I stedet for umiddelbart å klikke på Generer sertifikat knappen, merk av i boksen merket Jeg har min egen CSR.
- Lim inn din CSR i skjemafeltet og klikk på Generer sertifikat knapp.
- Klikk på Last ned og lagre
.crt
fil på samme sted som du genererte keystore.
Importer sertifikat til Keystore
- Bruk følgende kommando for å importere sertifikatet til din Java-nøkkelbutikkfil. (Bytt ut MY-CERTIFICATE.crt og MY-KEYSTORE.jks med de faktiske filnavnene.)
nøkkelverktøy -importcert -fil MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codesigning
- Angi passordet for tastelager når du blir bedt om det.
Skriv inn passord for nøkkelbutikk:
- Sertifikatet ditt er installert i keystore, og du er klar til å begynne å signere filer.
Sertifikatsvar ble installert i nøkkelbutikken
Signer filer med Jarsigner
- Bruk følgende kommando for å legge til en tidsstemplet digital signatur til a
.jar
fil. (Erstatte/PATH/TO/MY-KEYSTORE.jks
ogMY-JAR.jar
med de faktiske filnavnene du bruker. Hvis du brukte et annet alias når du konfigurerte tastaturet, kan du erstatte detcodesigning
i kommandoen.)jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar kodesign
Merk: Det er også mulig å signere din.jar
filer direkte med en ikke-konvertert PFX-fil ved å legge til-storetype pkcs12
flagg tiljarsigner
kommando.
OBS: Som standard støtter SSL.com tidsstempler fra ECDSA-nøkler.
Hvis du støter på denne feilen:The timestamp certificate does not meet a minimum public key length requirement
, bør du kontakte programvareleverandøren for å tillate tidsstempler fra ECDSA-nøkler.
Hvis det ikke er noen måte for programvareleverandøren din å tillate at det vanlige endepunktet brukes, kan du bruke dette eldre endepunktethttp://ts.ssl.com/legacy
for å få et tidsstempel fra en RSA Timestamping Unit. - Tast inn passordet for tastelageret ved ledeteksten.
Skriv inn passordfrase for nøkkelbutikk:
- Filen er nå signert. Du kan bekrefte signaturen med følgende kommando:
jarsigner -verify -verbose MY -JAR.jar
- Hvis filen din ble signert vellykket, bør kommandoen komme med denne linjen:
s = signatur ble bekreftet
IV-, OV- og EV-kodesignering med YubiKey
Konfigurasjon
Installer PKCS # 11 Driver og Lag eToken.cfg-fil
Windows
- Installer OpenSC ved å følge instruksjonene i OpenSC Windows hurtigstart.
- Finn OpenSC PKCS # 11-driveren. Standard installasjonsplassering er
C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
. - Lag en konfigurasjonsfil og lagre den på et praktisk sted (som hjemmekatalogen). Filnavnet er vilkårlig, men i denne guiden vil vi bruke
yubikey-pkcs11-java.cfg
. Filen skal inneholde følgende informasjon:navn = OpenSC-PKCS11 beskrivelse = SunPKCS11 via OpenSC-bibliotek = C: \ Programfiler \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
- Install OpenSC. Hvis du bruker Homebrew som pakkehåndtering kan du installere OpenSC med følgende kommando:
bryginstallasjon opensc
- Finn OpenSC PKCS # 11-driveren. Hvis du installerte ved hjelp av Homebrew, skal filen være tilgjengelig på
/usr/local/lib/opensc-pkcs11.so
. - Lag en konfigurasjonsfil og lagre den på et praktisk sted (som hjemmekatalogen). Filnavnet er vilkårlig, men i denne guiden vil vi bruke
yubikey-pkcs11-java.cfg
. Filen skal inneholde følgende informasjon:navn = OpenSC-PKCS11 beskrivelse = SunPKCS11 via OpenSC-bibliotek = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0
Signer filer med Jarsigner
- Bruk følgende kommando for å legge til en tidsstemplet digital signatur til a
.jar
fil. (ErstatteMY-JAR.jar
med det faktiske filnavnet du bruker.)jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore INGEN -storetype PKCS11 MY-JAR.jar "Sertifikat for PIV-godkjenning"
- Skriv inn YubiKey-PIN-koden din ved passordfrasen.
Skriv inn passordfrase for nøkkelbutikk:
- Filen er nå signert. Du kan bekrefte signaturen med følgende kommando:
jarsigner -verify -verbose MY -JAR.jar
- Hvis filen din ble signert vellykket, bør kommandoen komme med denne linjen:
s = signatur ble bekreftet