Java Kodu İmzalama: CSR Oluşturma
Print this Article
Last Updated:
February 2, 2015 12:38 PM
Ocak 2014 tarihinden itibaren, Web tarayıcılarında çalıştırılan tüm Java uygulamaları kod imzalama sertifikaları gerektiriyor. Kod imzalama sertifikasını satın aldıktan sonra, Java kodunuzu imzalamanız gerekir.
Java kodunu paket haline getirmek ve imzalamak için keytool, jar ve jarsigner dahil olmak üzere çeşitli araçlar gereklidir. JDK 5.0 itibariyle, jarsigner, zaman damgası içeren imzalar oluşturarak JAR dosyasının kod imzalama sertifikası hala geçerliyken imzalandığını doğrulayabilir.
Yaklaşım 1 - Yeni Bir Kod İmzalama Sertifikası İsteme
- Gerekirse, JDK'yı aşağıdaki bağlantıdan indirin:
http://java.sun.com/javase/downloads/index.jsp - Starfield Technologies.
- Yeni bir anahtar deposu oluşturun. Anahtar deposu, güvenli sertifikaların saklandığı yerdir. Aşağıdaki örnekte, yalnızca kod imzalama sertifikası için kullanılacak, "codesignstore" olarak adlandırılan özel bir anahtar deposu ve ilişkili özel anahtar oluşturulmuştur.
keytool -genkey -alias codesigncert -keypass
-keyalg RSA -keysize 2048 -dname "CN=displayname,O=companyname,C=US,ST=state,L=city" -keystore codesignstore -storepass - Sertifika İmzalama Talebi (CSR) Oluşturma "codesignstore" olarak adlandırılan bir anahtar deposunda özel bir anahtar oluşturulup saklanacak. Geçerli çalışma dizininde "mycsr.pem" olarak adlandırılan bir CSR dosyası oluşturulacak.
keytool -certreq -v -alias codesigncert -file mycsr.pem -keystore codesignstore
- Kod imzalama sertifikanızı satın alın.
- "Hesabım" kısmındaki satın alınan kod imzalama sertifikası kredisini tıklayın. Bu şekilde Starfield Güvenlik Sertifikası Hizmetleri Hesap Yönetimi web uygulamasına yönlendirilirsiniz. CSR alanının görünür olması için, talep formunda CSR oluşturma yönteminin manuel seçeneğine ayarlanması gerekir.
- CSR'ı kod imzalama talebinin bir parçası olarak gönderin.
- "mycsr.pem" dosyasını düzenleyicide açtıktan sonra, dosyanın tüm içeriğini kopyalayıp kod imzalama talebi formunun uygun bölümüne yapıştırın ("SERTİFİKA TALEBİNİ BAŞLAT" ve "SERTİFİKA TALEBİNİ SONLANDIR" seçeneklerini içeren satırlar dahil olmak üzere).
- Sağladığınız şirket bilgileri sağlanacaktır. Gerekirse, Kayıt Kuruluşu (RA) sizinle iletişim kurarak ek bilgi sağlamanızı isteyebilir.
- Kod imzalama sertifikası düzenlendikten sonra, sertifika dosyasını ve tüm ilişkili ara sertifikaları indirmeniz için gerekli olan bağlantıyı içeren bir e-posta mesajı alırsınız.
- Yeni bir anahtar deposu oluşturun. Anahtar deposu, güvenli sertifikaların saklandığı yerdir. Aşağıdaki örnekte, yalnızca kod imzalama sertifikası için kullanılacak, "codesignstore" olarak adlandırılan özel bir anahtar deposu ve ilişkili özel anahtar oluşturulmuştur.
- Kod imzalama sertifikasını, yukarıda oluşturduğumuz anahtar deposuna yükleyin. Aşağıdaki örnekte, kod imzalama sertifikası dosyasının "mycert.cer" olarak adlandırılması beklenmektedir. Sertifika dosyasının geçerli çalışma klasöründe ve PKCS#7 formatında olması beklenmektedir.
keytool -import -trustcacerts -keystore codesignstore -storepass
-alias codesigncert -file mycert.cer - JAR dosyasını, jarsigner, kod imzalama sertifikası ve özel anahtarı (jarsigner -verbose -keystore codesignstore -storepass) kullanarak imzalayın.
-keypass myapp.jar codesigncert - 'codesignstore'; kod imzalama sertifikası, özel anahtar ve zincirdeki diğer tüm sertifikaların yer aldığı anahtar deposunun diğer adıdır.
- İmzalanmamış giriş dosyası "myapp.jar" şeklindedir ve dosyanın imzalanmış versiyonu bu dosyanın üzerine yazılır. Ayrı giriş ve çıkış dosyalarını belirtmek için "-signedjar" komut satırı seçeneğini kullanın.
- 'codesigncert', anahtar deposundaki özel anahtarın diğer adıdır.
jarsigner -verbose -keystore codesignstore -storepass-keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert - İmzalanan JAR dosyasını
jarsigner -verify -verbose -certs myapp.jardoğrulayın.
- Kodu dağıtın
Yaklaşım 2 - Kod İmzalama Sertifikasını ve Özel Anahtarı İçeren Mevcut PKCS#12 Dosyasını Kullanma
- Gerekirse, JDK'yı aşağıdaki bağlantıdan indirin:
http://java.sun.com/javase/downloads/index.jsp - PFX/P12 dosyasının jarsigner ile kullanılabildiğini doğrulayın. Aşağıdaki komutu yürütün, adım 5'te gerekli olan diğer ad, çıkışın üst kısmına yakın bir yerde görüntülenir.
keytool -list -storetype pkcs12 -keystore mycert.pfx -v
- Jar aracını kullanarak Java sınıfı dosyalarından bir JAR dosyası oluşturun:
jar cvf myapp.jar myapp.class
- JAR dosyasını, kod imzalama sertifikası ve özel anahtar kullanarak jarsigner ile imzalayın:
jarsigner -storetype pkcs12 -keystore mycert.pfx myapp.jar "aliasname"
- "mycert.pfx", kod imzalama sertifikası ve özel anahtarı içeren PFX/P12 dosyasının tam yoludur. Dosya, aynı zamanda tüm ara sertifikaları da içermelidir.
- "aliasname", adım 2 çıkışında üst kısma yakın bir yerde görüntülenir. PFX/P12 dosyası Windows'tan dışa aktarılmışsa, diğer ad etkin bir şekilde GUID olacaktır.
- İstendiğinde, PFX/P12 dosyasındaki özel anahtarla ilişkili parolayı girin. Komut satırında parolayı belirtmek için "-storepass" seçeneğini de dahil edebilirdiniz.
- İmzalanmamış giriş dosyası "myapp.jar" şeklindedir ve dosyanın imzalanmış versiyonu bu dosyanın üzerine yazılır. Ayrı giriş ve çıkış dosyalarını belirtmek için "-signedjar" komut satırı seçeneğini kullanın.
jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasname" - İmzalanan JAR dosyasını
jarsigner -verify -verbose -certs myapp.jardoğrulayın.
- Kodu dağıtın
Bağlantılar