Denne vejledning får dig i gang med at underskrive din Java-kode med enten en OV / IV or EV kodesigneringscertifikat fra SSL.com. Disse instruktioner antager, at Java Development Kit (JDK) er installeret på din computer, og at keytool
, jarsigner
kommandoer er inkluderet i din PATH. Yubikey-kodesigneringsinstruktionerne antager, at dit certifikat er installeret i slot 9a i a YubiKey FIPS token, da de sendes af SSL.com.
Hvis du ikke har et kodesigneringscertifikat endnu og ikke er sikker på, hvilken type du har brug for, skal du læse denne ofte stillede spørgsmål.
OV/IV-kodesignering (kun for OV/IV-certifikater udstedt før 1. juni 2023)
Konfiguration
Metode 1: Generer CSR og PFX-fil i browseren
Den enkleste metode til hurtigt at komme i gang med Java-kodesignering er at generere en CSR og PFX-fil, når du henter dit certifikat fra SSL.com og installerer det i en ny Java-nøglelager.
.jar
filer direkte med en ikke-konverteret PFX-fil ved at tilføje -storetype pkcs12
flag til jarsigner
kommando.- Følg trinnene vist i Bestilling og hentning af kodesigneringscertifikater for at bestille dit certifikat og downloade en PFX-fil med dit certifikat og din private nøgle.
- Importer PFX til en ny keystore med den samme adgangskode ved hjælp af kommandoen nedenfor. (Erstatte
MY-CERTIFICATE.p12
,MY-KEYSTORE.jks
med det faktiske navn på din PFX-fil og det filnavn, du vil give din keystore. Bemærk også, atdestalias
er vilkårlig, og du kan muligvis bruge en anden aliasværdi, hvis det ønskes.)keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -estestoretype JKS -destalier koder
Bemærk: Værdien for-srcalias
for PFX-filen, der downloades fra SSL.com, skal normalt være1
, men du kan bekræfte dette ved at køre kommandoenkeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
og kontrol af den viste værdi forAlias name
. - Du bliver bedt om at angive en adgangskode til destinationsnøglebutikken og derefter om kildetastaturens adgangskode (adgangskoden, du indtastede, når du oprettede PFX). Du kan også se en advarsel, der begynder med
Warning: The JKS keystore uses a proprietary format
. Du kan muligvis ignorere denne meddelelse.
Metode 2: Generer nøglepar og CSR med Java
Hvis du foretrækker at generere dit nøglepar og CSR med Java, følg trinnene i dette afsnit. Processen er den samme, der bruges til at oprette en CSR for en SSL /TLS certifikat i Java.
Opret Keystore og Key Pair
- Først opretter vi et nøglelager og et offentligt / privat nøglepar. Java bruger filer med udvidelsen
.jks
(Java KeyStore) til lagring af certifikater og kryptografiske nøgler. Indtast følgende kommando for at generere en keystore og 3072-bit RSA-nøglepar. (ErstatteMY-KEYSTORE.jks
med det navn, du gerne vil have filen til.)keytool -genkeypair -alias kodetegnelse -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
- Du får præsenteret en række spørgsmål. Opret og bekræft først en adgangskode til keystore, indtast derefter og bekræft de ønskede oplysninger. (Udskift værdierne, der er vist i all-caps med dine egne oplysninger.)
Indtast nøglelageradgangskode: Indtast ny adgangskode igen: Hvad er dit for- og efternavn? [Ukendt]: FIRSTNAME LASTNAME Hvad er navnet på din organisation? [Ukendt]: FIRMA Hvad er navnet på din by eller lokalitet? [Ukendt]: BY Hvad er navnet på din stat eller provins? [Ukendt]: STATE Hvad er landekoden på to bogstaver for denne enhed? [Ukendt]: US Er CN=FIRSTNAME LASTNAME, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US korrekt? [Nej Ja
- Keystore-filen er blevet genereret, og du er klar til at oprette en CSR.
Generer CSR
- Indtast følgende kommando for at generere en CSR fra keystore, vi lige har oprettet. (Erstatte
MY-KEYSTORE.jks
med den værdi, du brugte, da du oprettede tastaturet ogMY-CSR.csr
med det navn, du vil bruge til CSR.)keytool -certreq -alias kodetegnelse -fil MY-CSR.csr -keystore MY-KEYSTORE.jks
- Indtast det adgangskode, du oprettede, når du genererede keystore.
Indtast keystore adgangskode:
- CSR er oprettet. Hvis du er klar til at bestille dit certifikat fra SSL.com, skal du åbne filen i en teksteditor for at kopiere og indsætte i CSR felt ved bestilling. Indholdet af filen ser ud som eksemplet 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-----
Bestil og hent certifikat
- Følg trinnene vist i Bestilling og hentning af kodesigneringscertifikater gennem trin 24. I stedet for straks at klikke på Generer certifikat , markér afkrydsningsfeltet Jeg har min egen CSR.
- Indsæt din CSR i formularfeltet, og klik på Generer certifikat .
- Klik på knappen Hent knappen og gem
.crt
fil samme sted, som du genererede din keystore.
Importer certifikat til Keystore
- Brug følgende kommando til at importere certifikatet til din Java keystore-fil. (Udskift MY-CERTIFICATE.crt og MY-KEYSTORE.jks med de faktiske filnavne.)
keytool -importcert -fil MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codeigning
- Indtast adgangskoden til keystore, når du bliver bedt om det.
Indtast keystore adgangskode:
- Dit certifikat er installeret i keystore, og du er klar til at begynde at signere filer.
Certifikatsvar blev installeret i keystore
Signer filer med Jarsigner
- Brug følgende kommando til at tilføje en tidsstemplet digital signatur til a
.jar
fil. (Erstatte/PATH/TO/MY-KEYSTORE.jks
,MY-JAR.jar
med de faktiske filnavne, du bruger. Hvis du brugte et andet alias, når du opsatte din keystore, skal du erstatte dencodesigning
i kommandoen.)jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar codeigning
Bemærk: Det er også muligt at underskrive din.jar
filer direkte med en ikke-konverteret PFX-fil ved at tilføje-storetype pkcs12
flag tiljarsigner
kommando.
Bemærk: Som standard understøtter SSL.com tidsstempler fra ECDSA-nøgler.
Hvis du støder på denne fejl:The timestamp certificate does not meet a minimum public key length requirement
, bør du kontakte din softwareleverandør for at tillade tidsstempler fra ECDSA-nøgler.
Hvis der ikke er nogen måde for din softwareleverandør at tillade det normale slutpunkt at blive brugt, kan du bruge dette ældre slutpunkthttp://ts.ssl.com/legacy
for at få et tidsstempel fra en RSA Timestamping Unit. - Indtast keystore-adgangskoden, når du bliver bedt om det.
Angiv adgangssætning for keystore:
- Filen er nu underskrevet. Du kan bekræfte signaturen med følgende kommando:
jarsigner-verificere -verbose MY-JAR.jar
- Hvis din fil blev underskrevet, skal kommandoens output indeholde denne linje:
s = signatur blev verificeret
IV-, OV- og EV-kodesignering med YubiKey
Konfiguration
Installer PKCS # 11 Driver og Opret eToken.cfg fil
Windows
- Installer OpenSC ved at følge instruktionerne i OpenSC Windows hurtigstart.
- Find OpenSC PKCS # 11-driveren. Standardinstallationsplaceringen er
C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
. - Opret en konfigurationsfil og gem den på et praktisk sted (som dit hjemmekatalog). Filnavnet er vilkårligt, men i denne vejledning vil vi bruge
yubikey-pkcs11-java.cfg
. Filen skal indeholde følgende oplysninger:name = OpenSC-PKCS11 beskrivelse = SunPKCS11 via OpenSC bibliotek = C: \ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
MacOS
- Installer OpenSC. Hvis du bruger homebrew som pakkeadministrator kan du installere OpenSC med følgende kommando:
bryg installation opensc
- Find OpenSC PKCS # 11-driveren. Hvis du installerede ved hjælp af Homebrew, skal filen være tilgængelig på
/usr/local/lib/opensc-pkcs11.so
. - Opret en konfigurationsfil og gem den på et praktisk sted (som dit hjemmekatalog). Filnavnet er vilkårligt, men i denne vejledning vil vi bruge
yubikey-pkcs11-java.cfg
. Filen skal indeholde følgende oplysninger:navn = OpenSC-PKCS11 beskrivelse = SunPKCS11 via OpenSC bibliotek = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0
Signer filer med Jarsigner
- Brug følgende kommando til at tilføje en tidsstemplet digital signatur til a
.jar
fil. (ErstatteMY-JAR.jar
med det aktuelle filnavn, du bruger.)jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore INGEN -storetype PKCS11 MY-JAR.jar "Certificate for PIV Authentication"
- Indtast din YubiKey-PIN-kode ved hjælp af adgangsfrase-prompten.
Angiv adgangssætning for keystore:
- Filen er nu underskrevet. Du kan bekræfte signaturen med følgende kommando:
jarsigner-verificere -verbose MY-JAR.jar
- Hvis din fil blev underskrevet, skal kommandoens output indeholde denne linje:
s = signatur blev verificeret