Frequently Asked Questions

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

Kodsignering - Java: Generera en Certifikatsigneringsbegäran

Print this Article
Last Updated: February 2, 2015 12:50 PM

Från och med januari 2014 krävs kodsigneringscertifikat för alla Java-program som körs i webbläsare. När du har köpt ett kodsigneringscertifikat måste du signera din Java-kod.

Flera verktyg krävs för att paketera och signera Java-kod, inklusive keytool, jar och jarsigner. Från och med JDK 5.0 kan jarsigner generera signaturer som inkluderar en tidsstämpel, vilket innebär att det går att bekräfta att JAR-filen signerades medan kodsigneringscertifikatet fortfarande var giltigt.

Metod 1 - Begär ett nytt kodsigneringscertifikat

  1. Om det behövs kan du ladda ned JDK från följande länk:
    http://java.sun.com/javase/downloads/index.jsp
  2. Begär ett kodsigneringscertifikat från Starfield Technologies.
    • Skapa ett nytt nyckelarkiv. Ett nyckelarkiv är en plats där SSL-certifikat lagras. Det här exemplet skapar ett anpassat nyckelarkiv som kallas "codesignstore" som enbart ska användas för ett kodsigneringscertifikat och den privata nyckel som är kopplad till certifikatet.
      keytool -genkey -alias codesigncert -keypass -keyalg RSA -keysize 2048 -dname "CN=displayname,O=companyname,C=US,ST=state,L=city" -keystore codesignstore -storepass
    • Skapa en certifikatsigneringsbegäran. En privat nyckel skapas och lagras i nyckelarkivet med namnet "codesignstore". Certifikatsigneringsbegäran sparas som filen "mycsr.pem" i den aktuella arbetskatalogen.
      keytool -certreq -v -alias codesigncert -file mycsr.pem -keystore codesignstore
    • Köp ett kodsigneringscertifikat.
    • Klicka på krediteringen av det köpta kodsigneringscertifikatet i "Mitt konto". Då skickas du vidare till webbprogrammet Kontohanteraren i Starfields SSL-certifikattjänster. Metoden för generering av certifikatsigneringsbegäran måste konfigureras till manuellt på formuläret för att CSR-fältet ska visas.
    • Skicka certifikatsigneringsbegäran som en del i kodsigneringsbegäran.
      • När du har öppnat filen "mycsr.pem" i en redigerare kopierar du hela filinnehållet (inklusive raderna med "BEGIN NEW CERTIFICATE REQUEST" (påbörja ny certifikatbegäran) och "END NEW CERTIFICATE REQUEST" (slut på ny certifikatbegäran)) och klistrar in det på lämplig plats i formuläret med kodsigneringsbegäran.
    • De angivna företagsuppgifterna kommer att verifieras. Registreringsutfärdaren kan vid behov kontakta dig och be om ytterligare information.
    • När kodsigneringscertifikatet har utfärdats får du ett e-postmeddelande med en länk för att ladda ned certifikatfilen och eventuella associerade mellanliggande certifikat.
  3. Installera kodsigneringscertifikatet i samma nyckelarkiv som skapades tidigare. I följande exempel förväntas filnamnet för kodsigneringscertifikatet vara "mycert.cer". Certifikatfilen förväntas finnas i den aktuella arbetskatalogen och vara i PKCS#7-format.
    keytool -import -trustcacerts -keystore codesignstore -storepass -alias codesigncert -file mycert.cer
  4. Signera JAR-filen med jarsigner, och använd kodsigneringscertifikatet och den privata nyckeln
    jarsigner -verbose -keystore codesignstore -storepass -keypass myapp.jar codesigncert
    • "codesignstore" är ett alias till nyckelarkivet där kodsigneringscertifikatet, den privata nyckeln och alla andra certifikat i kedjan lagras.
    • Det osignerade indatafilnamnet är "myapp.jar" och skrivs över med den signerade filversionen. Använd kommandoradsalternativet "-signedjar" för att specificera olika in- och utdatanamn.
    • "codesigncert" är ett alias för den privata nyckeln i nyckelarkivet.
    Följande exempel lägger till alternativ för tidsstämpel i samma exempel som presenterades ovan.
    jarsigner -verbose -keystore codesignstore -storepass -keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert
  5. Verifiera den signerade JAR-filen
    jarsigner -verify -verbose -certs myapp.jar
  6. Distribuera koden

Metod 2 - Använd den befintliga PKCS#12-filen som innehåller både kodsigneringscertifikat och privat nyckel

  1. Om det behövs kan du ladda ned JDK från följande länk:
    http://java.sun.com/javase/downloads/index.jsp
  2. Verifiera att PFX/P12-filen kan användas med jarsigner. Kör följande kommando. Aliasnamnet som krävs i steg 5 visas högt upp i utdatan:
    keytool -list -storetype pkcs12 -keystore mycert.pfx -v
  3. Skapa en JAR-fil från Java-klassfiler med hjälp av jar-verktyget:
    jar cvf myapp.jar myapp.class
  4. Signera JAR-filen med jarsigner, med användning av kodsigneringscertifikatet och den privata nyckeln:
    jarsigner -storetype pkcs12 -keystore mycert.pfx myapp.jar "aliasnamn"
    • "mycert.pfx" är hela sökvägen till PFX/P12-filen som innehåller kodsigneringscertifikatet och den privata nyckeln. Filen ska även innehålla alla mellanliggande certifikat.
    • "aliasnamn" visas högt upp i utdatan för steg 2. Om PFX/P12-filen exporterades från Windows, blir aliasnamnet i själva verket en GUID.
    • Ange lösenordet som är kopplat till den privata nyckeln i PFX/P12-filen när du ombeds att göra det. Du kan också inkludera alternativet "-storepass" för att ange lösenordet på kommandoraden.
    • Det osignerade indatafilnamnet är "myapp.jar" och skrivs över med den signerade filversionen. Använd kommandoradsalternativet "-signedjar" för att specificera olika in- och utdatanamn.
    Följande exempel lägger till alternativ för tidsstämpel i samma exempel som presenterades ovan:
    jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasnamn"
  5. Verifiera den signerade JAR-filen
    jarsigner -verify -verbose -certs myapp.jar
  6. Distribuera koden

Länkar