Java Kodesignering: Generering Af en CSR
Print this Article
Last Updated:
February 2, 2015 12:36 PM
Fra januar 2014 vil alle Java-applikationer, der afvikles i webbrowsere, kræve Code Signing Certificates. Nå du har købt et code signing-certifikat, skal du signere din Java-kode.
Det er nødvendigt med adskillige redskaber til pakning og signering af Java-kode, herunder keytool, jar og jarsigner. Fra og med JDK 5.0 kan jarsigner generere signaturer, der indeholder et tidsstempel, der tillader validering af, at JAR-filen blev signeret, da code signing-certifikatet stadig var gyldigt.
Fremgangsmåde 1 - Anmod om et nyt Code Signing Certificate
- Download om nødvendigt JDK fra følgende link:
http://java.sun.com/javase/downloads/index.jsp - Anmod om et Code Signing Certificate fra Starfield Technologies.
- Opret en ny lagerfil. En lagerfil er fil hvori sikre certifikater gemmes. Dette eksempel vil oprette en brugerdefineret lagerfil med navnet "codesignstore", der kun bruges til et code signing-certifikat og den tilhørende private nøgle.
keytool -genkey -alias codesigncert -keypass
-keyalg RSA -keysize 2048 -dname "CN=skærmnavn,O=virksomhedsnavn,C=DK,ST=stat,L=by" -keystore codesignstore -storepass - Opret en CSR (Certificate Signing Request). Der oprettes og gemmes en privat nøgle i lagerfilen "codesignstore". En CSR-fil med navnet "mycsr.pem" oprettes i den aktuelle arbejdsmappe.
keytool -certreq -v -alias codesigncert -file mycsr.pem -keystore codesignstore
- Køb et code signing-certifikat.
- Klik på kreditten for det købte code signing-certifikat i "Min konto". Dette vil bringe dig til webapplikationen Starfield Sikkert certifikattjeneste kontoadministration. CSR-genereringsmetoden skal indstilles til manuel på anmodningsformularen, før CSR-feltet bliver synligt.
- Send CSR som en del af kodesigneringsanmodningen.
- Efter åbning af filen "mycsr.pem" i en editor, skal du kopiere og indsætte hele indholdet fra filen (inklusive linjerne, der indeholder "BEGIN NEW CERTIFICATE REQUEST" og "END NEW CERTIFICATE REQUEST") i det passende afsnit på CSR-formularen.
- De virksomhedsoplysninger, som du har givet, vil blive kontrolleret. Registreringsautoriten (RA) vil måske kontakte dig for at få flere oplysninger, hvis det er nødvendigt.
- Når code signing-certifikatet er blevet udstedt, vil du modtage en e-mail med et link, hvor du kan downloade certifikatfilen og alle tilhørende mellemliggende certifikater.
- Opret en ny lagerfil. En lagerfil er fil hvori sikre certifikater gemmes. Dette eksempel vil oprette en brugerdefineret lagerfil med navnet "codesignstore", der kun bruges til et code signing-certifikat og den tilhørende private nøgle.
- Installer code signing-certifikatet i samme lagerfil, der blev oprettet tidligere. Følgende eksempel forventer at code signing-certifikatet navngives "mycert.cer". Certifikatfilen forventes at være i den aktuelle arbejdsmappe og i formatet PKCS#7.
keytool -import -trustcacerts -keystore codesignstore -storepass
-alias codesigncert -file mycert.cer - Signer JAR-filen med jarsigner ved brug af code signing-certifikatet og den private nøgle jarsigner -verbose -keystore codesignstore -storepass
-keypass myapp.jar codesigncert - "codesignstore" er et alias for lagerfilen, hvori code signing-certifikatet, den private nøgle og alle andre certifikater i kæden er gemt.
- Navnet på den usignerede inputfil er "myapp.jar", og den vil blive overskrevet med den signerede udgave af filen. Benyt kommandolinjeargumentet "-signedjar" til at angive separate input- og outputfilnavne.
- "codesigncert" er et alias for den private nøgle i lagerfilen.
jarsigner -verbose -keystore codesignstore -storepass-keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert - Kontrollér den signerede JAR-fil
jarsigner -verify -verbose -certs myapp.jar
- Distribuer koden
Fremgangsmåde 2 - Brug den eksisterende PKCS#12-fil, der indeholder både code signing-certifikatet og den private nøgle
- Download om nødvendigt JDK fra følgende link:
http://java.sun.com/javase/downloads/index.jsp - Kontrollér, at PFX/P12-filen kan bruges med jarsigner. Udfør følgende kommando, det aliasnavn som er påkrævet i trin 5 vises nær toppen i outputtet:
keytool -list -storetype pkcs12 -keystore mycert.pfx -v
- Med jar-værktøjet oprettes en JAR-fil fra Java-klassefiler:
jar cvf myapp.jar myapp.class
- Signer JAR-filen med jarsigner vha. code signing-certifikatet og den private nøgle:
jarsigner -storetype pkcs12 -keystore mycert.pfx myapp.jar "aliasnavn"
- "mycert.pfx" er den fuldstændige sti til PFX/P12-filen, der indeholder code signing-certifikatet og den private nøgle. Denne fil skal også indeholde alle mellemliggende certifikater.
- "aliasnavn" vises næsten øverst i outputtet fra trin 2. Hvis PFX/P12-filen er blevet eksporteret fra Windows, vil aliasnavnet være en GUID (global unik identifikator).
- Indtast adgangskoden, der hører til den private nøgle i PFX/P12-filen, når du bliver bedt om det. Du kan også medtage argumentet "-storepass" til at angive adgangskoden på kommandolinjen.
- Navnet på den usignerede inputfil er "myapp.jar", og den vil blive overskrevet med den signerede udgave af filen. Benyt kommandolinjeargumentet "-signedjar" til at angive separate input- og outputfilnavne.
jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasnavn" - Kontrollér den signerede JAR-fil
jarsigner -verify -verbose -certs myapp.jar
- Distribuer koden
Links