Java-koodin allekirjoittaminen: Varmenteen allekirjoituspyynnön (CSR) luominen

Tammikuusta 2014 lähtien kaikille verkkoselaimissa suoritettaville Java-sovelluksille vaaditaan koodin allekirjoitusvarmenteet. Kun olet ostanut koodin allekirjoitusvarmenteen, sinun on allekirjoitettava Java-koodi.

Java-koodin pakkaukseen ja allekirjoitukseen tarvitaan useita työkaluja, muun muassa keytool-, jar- ja jarsigner-työkalut. JDK 5.0:stä lähtien jarsigner-työkalulla voidaan luoda aikaleimauksen sisältäviä allekirjoituksia. Näin voidaan vahvistaa, että JAR-tiedosto on allekirjoitettu koodin allekirjoitusvarmenteen ollessa vielä voimassa.

Menettely 1 – Pyydä uusi koodin allekirjoitusvarmenne

  1. Lataa tarvittaessa JDK seuraavasta linkistä:
    http://java.sun.com/javase/downloads/index.jsp
  2. Pyydä koodin allekirjoitusvarmenne GoDaddyltä.
    • Luo uusi avainsäilö. Avainsäilö on paikka, jossa suojausvarmenteet säilytetään. Tässä esimerkissä luodaan oma avainsäilö nimeltä "codesignstore", jota käytetään vain koodin allekirjoitusvarmenteelle ja siihen liittyvälle yksityiselle avaimelle.
      keytool -genkey -alias codesigncert -keypass -keyalg RSA -keysize 2048 -dname "CN=displayname,O=companyname,C=US,ST=state,L=city" -keystore codesignstore -storepass
    • Luo varmenteen allekirjoituspyyntö (CSR) Yksityinen avain luodaan ja tallennetaan "codesignstore"-nimiseen avainsäilöön. "mycsr.pem"-niminen CSR-tiedosto luodaan nykyiseen työkansioon.
      keytool -certreq -v -alias codesigncert -file mycsr.pem -keystore codesignstore
    • Osta koodin allekirjoitusvarmenne.
    • Napsauta ostetun koodin allekirjoitusvarmenteen arvoyksikköä "Oma tili” -osiossa. Tämä vie sinut GoDaddy Secure Certificate Services Account Management -verkkosovellukseen. CSR-luontimenetelmä täytyy asettaa manuaaliseksi pyyntölomakkeessa, jotta CSR-kenttä näykyisi.
    • Lähetä CSR osana koodin allekirjoituspyyntöä.
      • Kun olet avannut "mycsr.pem"-tiedoston editorissa, kopioi tiedoston koko sisältö (mukaan lukien rivit, jotka sisältävät tekstit "BEGIN NEW CERTIFICATE REQUEST" ja "END NEW CERTIFICATE REQUEST") koodin allekirjoituspyyntölomakkeen asianmukaiseen osaan.
    • Antamasi yrityksen tiedot vahvistetaan. Rekisteröintiviranomainen (RA) saattaa ottaa sinuun tarvittaessa yhteyttä ja pyytää sinulta lisätietoja.
    • Kun koodin allekirjoitusvarmenne on myönnetty, sinulle lähetetään sähköpostissa linkki, josta voit ladata varmennetiedoston ja siihen mahdollisesti liittyvät keskitason varmenteet.
  3. Asenna koodin allekirjoitusvarmenne aikaisemmin luomaasi avainsäilöön. Seuraavassa esimerkissä oletetaan, että koodin allekirjoitusvarmennetiedostolle on annettu nimi "mycert.cer". Varmennetiedoston oletetaan olevan nykyisessä työkansiossa ja PKCS#7-muodossa.
    keytool -import -trustcacerts -keystore codesignstore -storepass -alias codesigncert -file mycert.cer
  4. Allekirjoita JAR-tiedosto käyttämällä jarsigner-työkalua, koodin allekirjoitusvarmennetta ja yksityistä avainta
    jarsigner -verbose -keystore codesignstore -storepass -keypass myapp.jar codesigncert
    • 'codesignstore' on alias (nimi) avainsäilölle, jossa koodin allekirjoitusvarmenteet, yksityinen avain ja kaikki muut ketjun varmenteet pidetään.
    • Allekirjoittamattoman syötetiedoston nimi on "myapp.jar", ja se korvataan tiedoston allekirjoitetulla versiolla. Käytä "-signedjar"-komentorivivaihtoehtoa määrittääksesi erilliset syöte- ja kohdetiedostojen nimet.
    • 'codesigncert' on alias yksityiselle avaimelle avainsäilössä.
    Seuraava esimerkki lisää aikaleimauksen samaan yllä esitettyyn esimerkkiin.
    jarsigner -verbose -keystore codesignstore -storepass -keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert
  5. Vahvista JAR-tiedosto
    jarsigner -verify -verbose -certs myapp.jar
  6. Julkaise koodi

Menettely 2 – Käytä olemassa olevaa PKCS#12-tiedostoa, jossa on sekä koodin allekirjoitusvarmenne että yksityinen avain.

  1. Lataa tarvittaessa JDK seuraavasta linkistä:
    http://java.sun.com/javase/downloads/index.jsp
  2. Varmista, että PFX/P12-tiedostoa voidaan käyttää jarsigner-työkalun kanssa. Suorita seuraava komento – vaiheessa 5 vaadittava aliasnimi tulee näkymään lähellä tulosteen yläosaa:
    keytool -list -storetype pkcs12 -keystore mycert.pfx -v
  3. Luo JAR-tiedosto Javan .class-tiedostoista jar-työkalulla:
    jar cvf myapp.jar myapp.class
  4. Allekirjoita JAR-tiedosto jarsigner-työkalulla käyttämällä koodin allekirjoitusvarmennetta ja yksityistä avainta:
    jarsigner -storetype pkcs12 -keystore mycert.pfx myapp.jar "aliasnimi"
    • "mycert.pfx" on koko polku PFX/P12-tiedostolle, joka sisältää koodin allekirjoitusvarmenteen ja yksityisen avaimen. Tiedoston pitäisi myös sisältää kaikki keskitason varmenteet.
    • "aliasnimi" näkyy vaiheen 2 tulosteessa lähellä yläosaa. Jos PFX/P12-vietiin Windowsista, aliasnimi tulee olemaan GUID-tunnus.
    • Anna pyydettäessä yksityiseen avaimeen PFX/P12-tiedostossa liittyvä salasana. Voit myös sisällyttää "-storepass"-vaihtoehdon määrittääksesi salasanan komentorivillä.
    • Allekirjoittamattoman syötetiedoston nimi on "myapp.jar", ja se korvataan tiedoston allekirjoitetulla versiolla. Käytä "-signedjar"-komentorivivaihtoehtoa määrittääksesi erilliset syöte- ja kohdetiedostojen nimet.
    Seuraava esimerkki lisää aikaleimauksen samaan yllä esitettyyn esimerkkiin.
    jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasnimi"
  5. Vahvista JAR-tiedosto
    jarsigner -verify -verbose -certs myapp.jar
  6. Julkaise koodi

Linkit


Oliko tästä artikkelista hyötyä?
Kiitos palautteestasi
Kiva, että meistä oli apua. Voimmeko tehdä jotain muuta?
Olen pahoillani asiasta. Miten voimme olla avuliaampia?