Java Kod İmzalama Sertifikası Nasıl Kullanılır?
Java uygulamaları, özellikle JAR (Java Archive) dosyaları, dijital olarak imzalanarak güvenilirlik ve bütünlük sağlanabilir. Java platformu, imzalanmamış uygulamalara ciddi kısıtlamalar uygular. Bu rehberde Java kod imzalama sertifikasının nasıl kullanılacağını detaylı anlatıyoruz.
Java'da Kod İmzalama Neden Gerekli?
- Java Web Start ve Applet'ler imzalanmadan çalıştırılamaz
- İmzalanmamış JAR dosyaları güvenlik kısıtlamalarına tabidir
- Kullanıcı güvenini artırır
- Uygulama bütünlüğünü garanti eder
- Kurumsal dağıtım için zorunludur
Gereksinimler
- JDK (Java Development Kit) — keytool ve jarsigner içerir
- Kod imzalama sertifikası — PFX veya JKS formatında
- JAR dosyası — İmzalanacak Java uygulaması
Adım 1: Java Keystore Hazırlığı
PFX'i JKS'ye Dönüştürme
Sertifikanız PFX formatındaysa, Java Keystore (JKS) formatına dönüştürmeniz gerekir:
keytool -importkeystore -srckeystore sertifika.pfx -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
PKCS12 Keystore Kullanma (Önerilen)
Modern Java sürümlerinde PKCS12 formatı doğrudan desteklenir, JKS dönüşümüne gerek kalmaz:
# Keystore içeriğini listele
keytool -list -keystore sertifika.pfx -storetype PKCS12
Adım 2: JAR Dosyasını İmzalama
jarsigner komutu ile JAR dosyanızı imzalayın:
# Temel imzalama
jarsigner -keystore sertifika.pfx -storetype PKCS12 -storepass sifre123 -tsa http://timestamp.digicert.com -digestalg SHA-256 -sigalg SHA256withRSA uygulama.jar "alias_adi"
Parametre Açıklamaları
| Parametre | Açıklama |
|---|---|
| -keystore | Keystore dosyasının yolu |
| -storetype | Keystore türü (PKCS12 veya JKS) |
| -storepass | Keystore şifresi |
| -tsa | Timestamp Authority URL'si |
| -digestalg | Özet algoritması (SHA-256) |
| -sigalg | İmza algoritması |
Adım 3: İmza Doğrulama
# İmzayı doğrula
jarsigner -verify -verbose -certs uygulama.jar
Başarılı imza çıktısı:
jar verified.
Çoklu JAR Dosyası İmzalama
# Bash ile toplu imzalama
for jar in lib/*.jar; do
jarsigner -keystore sertifika.pfx -storetype PKCS12 \
-storepass sifre123 -tsa http://timestamp.digicert.com \
-digestalg SHA-256 "$jar" "alias_adi"
done
En İyi Pratikler
- SHA-256 kullanın: SHA-1 artık güvenli kabul edilmiyor
- Timestamp ekleyin: Her zaman TSA parametresini kullanın
- Alias adını doğru belirtin: Keystore'daki alias adını kontrol edin
- Tüm JAR'ları imzalayın: Bağımlılık JAR dosyalarını da imzalayın
- Sertifikayı güvende tutun: Keystore dosyasını ve şifreyi güvenli saklayın
Sonuç
Java kod imzalama, jarsigner aracı ile kolayca yapılabilir. SHA-256 algoritması, timestamp ve doğru keystore yapılandırması ile Java uygulamalarınızı güvenle dağıtabilirsiniz.
Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yaz