Frequently Asked Questions

Other Languages: Deutsch Ελληνικά English Español Suomi Français Italiano Bokmål Nederlands Polski Português - Brasil Português - Portugal Русский Svenska Türkçe Українська Chinese Taiwan Chinese

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

  1. Download om nødvendigt JDK fra følgende link:
    http://java.sun.com/javase/downloads/index.jsp
  2. 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.
  3. 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
  4. 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.
    Efterfølgende eksempel tilføjer tidstempelargumenter til det samme eksempel, der er vist herover.
    jarsigner -verbose -keystore codesignstore -storepass -keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert
  5. Kontrollér den signerede JAR-fil
    jarsigner -verify -verbose -certs myapp.jar
  6. Distribuer koden

Fremgangsmåde 2 - Brug den eksisterende PKCS#12-fil, der indeholder både code signing-certifikatet og den private nøgle

  1. Download om nødvendigt JDK fra følgende link:
    http://java.sun.com/javase/downloads/index.jsp
  2. 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
  3. Med jar-værktøjet oprettes en JAR-fil fra Java-klassefiler:
    jar cvf myapp.jar myapp.class
  4. 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.
    Efterfølgende eksempel føjer tidstempelargumenter til det samme eksempel, der er vist herover:
    jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasnavn"
  5. Kontrollér den signerede JAR-fil
    jarsigner -verify -verbose -certs myapp.jar
  6. Distribuer koden

Links