Java-Koodin Allekirjoittaminen: Varmenteen Allekirjoituspyynnön (CSR) Luominen
Print this Article
Last Updated:
February 2, 2015 12:47 PM
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
- Lataa tarvittaessa JDK seuraavasta linkistä:
http://java.sun.com/javase/downloads/index.jsp - Pyydä koodin allekirjoitusvarmenne Starfield Technologies.
- 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 Starfield 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.
- 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.
- 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 - 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ä.
jarsigner -verbose -keystore codesignstore -storepass-keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert - Vahvista JAR-tiedosto
jarsigner -verify -verbose -certs myapp.jar
- Julkaise koodi
Menettely 2 - Käytä olemassa olevaa PKCS#12-tiedostoa, jossa on sekä koodin allekirjoitusvarmenne että yksityinen avain.
- Lataa tarvittaessa JDK seuraavasta linkistä:
http://java.sun.com/javase/downloads/index.jsp - 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
- Luo JAR-tiedosto Javan .class-tiedostoista jar-työkalulla:
jar cvf myapp.jar myapp.class
- 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.
jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasnimi" - Vahvista JAR-tiedosto
jarsigner -verify -verbose -certs myapp.jar
- Julkaise koodi
Linkit