Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

EDUTIME Java Day 9 Serdar TÜRKEL Java’da Güvenlik  JAR aracının tanımlanması  Bir JAR dosyasını oluşuturmak  Appletleri tanımak için Sayısal imzalar.

Benzer bir sunumlar


... konulu sunumlar: "EDUTIME Java Day 9 Serdar TÜRKEL Java’da Güvenlik  JAR aracının tanımlanması  Bir JAR dosyasını oluşuturmak  Appletleri tanımak için Sayısal imzalar."— Sunum transkripti:

1

2 EDUTIME Java Day 9 Serdar TÜRKEL

3 Java’da Güvenlik  JAR aracının tanımlanması  Bir JAR dosyasını oluşuturmak  Appletleri tanımak için Sayısal imzalar  Güvenlik anahtarı aracı oluşturmak  Sayısal sertifikalarlar çalışmak  Java.security paketini anlamak

4 JAR Aracı  JAR Dosyası: Java arşivleme aracının(JAR) oluşturduğu sıkıştırılmış bir arşiv dosyasıdır. Java arşivleme aracının(JAR) oluşturduğu sıkıştırılmış bir arşiv dosyasıdır. Bir çok dosyayı tek bir arşiv dosyasında birleştirir. Bir çok dosyayı tek bir arşiv dosyasında birleştirir. Web tarayıcılarına verimli yüklemeyi sağlar Web tarayıcılarına verimli yüklemeyi sağlar  JAR aracını çalıştırmak için : jar [options] [manifest] jar-file input-file(s) jar [options] [manifest] jar-file input-file(s)

5 JAR Aracı SeçenekAçıklama c Yeni arşiv oluşturur t Arşivin içerik tablosunu listeler x İsimleri verilen dosyaları arşivden çıkarır v Standard hata üzerinden detaylı çıktı oluşturur f Arşiv dosya isimlerini belirtir m Belirtilen manifesto dosyalarından manifesto bilgisi alır O Dosyaları sadece birleştir, sıkıştırma M Manifesto dosyarı oluşturmaz

6 JAR Aracı  Bir dizin içindeki tüm sınıf dosyalarını ve java dosyalarını ‘pack’ isimli bir jar dosyasına arşivleme jar cf pack.jar *.class  ‘pack.jar’ dosyasındaki dosyaları listeleme jar tf pack.jar

7 JAR Aracı  ‘pack.jar’ dosyasını bir aplette kullanmak için, HTML sayfasını açın ve ARCHIVE = “ pack.jar ” özelliğini aplet biçiminde aşağıdaki gibi kullanın:  ‘ pack.jar ’ dosyasında sıkıştırılmış tüm dosyaları çıkarır. jar xvf pack.jar jar xvf pack.jar

8 Jar Aracı import java.awt.*; import java.io.*; import java.awt.event.*; public class jar1 extends Frame implements WindowListener{ public jar1(){ addWindowListener(this);} public static void main(String args[]){ jar1 f=new jar1(); f.setTitle("pencere");f.setSize(400,400);f.setVisible(true);} public void windowDeactivated(WindowEvent we){} public void windowActivated(WindowEvent we){} public void windowDeiconified(WindowEvent we){} public void windowIconified(WindowEvent we){} public void windowClosing(WindowEvent we){System.exit(0);} public void windowClosed(WindowEvent we){} public void windowOpened(WindowEvent we){} }

9 Apletleri tanımak için sayısal imzalar  Apletlerin desteklemediği bazı özellikler: Apleltin çalışmakta olduğu sistemeden dosyaları okuma ve yazma. Apleltin çalışmakta olduğu sistemeden dosyaları okuma ve yazma. Sistemdeki bir dosya hakkında bilgi alma Sistemdeki bir dosya hakkında bilgi alma Sitemden dosya silme Sitemden dosya silme  Java 2, appletler güvenilir bir applet sunucudan geldiği ve sayısal imza ile imzalandığı sürece, yukarıdaki işlemlerin hepsini gerçekleştirebilir.

10 Apletleri tanımak için sayısal imzalar  Anahtar tabanlı şifreleme

11 Apletleri tanımak için sayısal imzalar  Sayısal imza, bir programla gelen şifrelenmiş bir dosya olmasının yanısıra, dosyanın nerden geldiğini ayrıntılı bir şekilde belirten bir dosyadır  Özel anahtarı(private key) elinde tutan kişi, nesnenin içeriğinin doğruluğunu sağlayabilir.  Sayısal imzada, şifreleme için özel anahtar, ve şifreyi çözmek içinde ortak anahtar (public key)kullanılır  Bu imzayı temsil eden dökümanın adı ‘Sertifika’dır.  Şu an itibariyle, aşağıdaki şirketler sertifika doğrulama servisi sunar: VeriSignVeriSign ThawtCertificationThawtCertification

12 Java güvenlik anahtarı  Apleti imzalamadan önce: ‘jar’, ‘jarsigner’, ve ‘keytool’ isminde üç araç oluşturmalıyız. ‘jar’, ‘jarsigner’, ve ‘keytool’ isminde üç araç oluşturmalıyız. Bir ortak/özel anahtar çifti oluşturulmalı, ve jarsigner aracı için erişilebilir yapmalıyız. Bir ortak/özel anahtar çifti oluşturulmalı, ve jarsigner aracı için erişilebilir yapmalıyız.  ‘keystore’ bir anahtar deposu, anahtarlardan oluşan bir veritabanıdır  ‘keytool’, javanın güvenlik anahtarı aracıdır. Bu: Ortak/özel anahtar çiftlerini yönetir Ortak/özel anahtar çiftlerini yönetir Ortak anahtarları tutar Ortak anahtarları tutar Doğruluk kontrolü için sertifikalar kullanır Doğruluk kontrolü için sertifikalar kullanır Kaynak verinin doğruluğunu kontrol eder. Kaynak verinin doğruluğunu kontrol eder.

13 Java güvenlik anahtarı  Jarsigner komutunun bazı seçenekleri SeçenekAçıklama keyStore Kullanılacak anahtar-deposunun ismini belirtir storePassword Anahtar-deposunun şifresini belirtir keyPassword Gizli anahtar şifresini belirtir JARFileName İmzalanacak JAR dosyasının ismini belirtir Alias İmzalayanın kaynak adını belirtir.

14 Java güvenlik anahtarı  JAR dosyasını imzalamak için komut jarsigner –keystore keyStore –storepass storePassword -keypass keyPassword  ‘ pack.jar ’ JAR dosyasını, ‘ store ’ anahtar deposu, depo ve gizli anahtar için ‘ password ’ şifresiyle imzalamak için komut jarsigner –keystore store –storepass password –keypass password pack.jar p jarsigner –keystore store –storepass password –keypass password pack.jar p  İmzalanmış bir JAR dosyasının imzasının doğruluğunu kontrol etmek için komut jarsigner –verify pack.jar

15  Doğrulama süreci:  Doğrulama süreci: ‘.DSA’ dosyasının. ‘.SF’ imza dosyası için geçerli bir imza taşıyıp taşımadığını ‘.DSA’ dosyasının. ‘.SF’ imza dosyası için geçerli bir imza taşıyıp taşımadığını İmza dosyasındaki dosya girişlerinin, ilgili manifesto dosya girişleri için geçerl özetler olup olmadığını kontrol eder. İmza dosyasındaki dosya girişlerinin, ilgili manifesto dosya girişleri için geçerl özetler olup olmadığını kontrol eder. Java güvenlik anahtarı

16 Sayısal Sertifikalar  Sayısal sertifika, bir sertifika yetkesi tarafından imzalanan bir dosya, nesne veya mesajdır.  CA (certificate authority- Sertifika yetkisi), şahısın kamusal anahtarının doğruluğunu kontol eder.  Uluslar arası Standartlar Organizasyonunun X.509 sertifikaları, popüler sayısal sertifika formatlarıdır.  Keytool bu sertifikaları destekler.

17 Sayısal Sertifikalar  ‘ keytool ’, bir sertifika edinmek için ilk adımdır.  ‘ keytool ’ u, yeni bir ortak/özel anahtar çiftleri oluşturmak için kullanıyoruz.  Keytool, başkaları tarafından oluşturulan ve imzalanan sertifikaları ithal eder.  Keytool, yeni ortak anahtarı ile birlikte yeni bir sertifika paketler.  Ortak anahtarı oluşturan nesne, bu sertifikayı imzalar.  Sertifika-imzalama isteği oluşturmak için gereklidirler

18 Sayısal Sertifikalar  ‘keytool’ ve the ‘–certreq’ seçeneği, sertifikayı oluşturmak için kullanılır  Sertifika oluşturmak için komut: keytool – keystore store – alias mykey – certreq –file mykey.txt

19 Java Güvenlik paketleri  java.security Temel güvenlik paketidir.Temel güvenlik paketidir.  java.security.acl Erişim protokolü politikalarını gerçekleştirmek için kullanılan arayüzlerden oluşurErişim protokolü politikalarını gerçekleştirmek için kullanılan arayüzlerden oluşur  java.security.cert X.509 sertifikaları için destek sağlarX.509 sertifikaları için destek sağlar  java.security.interfaces Sayısal imzalama algoritmasına erişmek için kullanılan arayüzler tanımlarSayısal imzalama algoritmasına erişmek için kullanılan arayüzler tanımlar  java.security.spec Anahtarlar için algoritma bağımlı ve bağımsız sınıflar sunarAnahtarlar için algoritma bağımlı ve bağımsız sınıflar sunar

20 Bir Class Şifrelemek  bir java dosyası oluşturmak  Bir jar dosyası oluşturmak  Bir anahtar deposuna bakmak  Anahtar oluşturmak  Jar dosyasını anahtar ile imzalamak  Jar dosyasını HTML dosyasına gömmek.

21 Bir Java Dosyası Oluşturmak import java.awt.*; import java.applet.*; import java.io.*; public class jar2 extends Applet{ public void paint(Graphics g){ g.drawRect(10,10,20,60);g.drawString("Edutime",10,20);}}

22 Bir Jar Dosyası Oluşturmak  Jar –cvf jar1.jar jar2.class Manifest.mf dosyasını düzenlemekManifest.mf dosyasını düzenlemek  Manifest.mf dosyasına Main-Class:jar2 yazılmalıdır.

23 Anahtar Deposuna Bakmak  Keytool –list eğer bir anahtar çiftiniz yok ise, “keytool error” hatası alacaksınız.eğer bir anahtar çiftiniz yok ise, “keytool error” hatası alacaksınız.

24 Anahtar Oluşturmak  Keytool –genkey –alias anahtar –keypass qwerty Keytool : anahtar deposuna erişmek ve oluşturmak için kullanılan araç.Keytool : anahtar deposuna erişmek ve oluşturmak için kullanılan araç. Genkey : Oluşturma işleminin yapılacağını belirtir.Genkey : Oluşturma işleminin yapılacağını belirtir. Anahtar : Anahtara verilen kısa isimAnahtar : Anahtara verilen kısa isim Keypass : özel anahtarı korumak için konulan şifre.Keypass : özel anahtarı korumak için konulan şifre.

25 Anahtar Oluşturmak Bu komut yazıldıktan sonra aşağıdaki mesaj alınacaktır. Enter keystore password: What is your first and last name? [Unknown]: Serdar TÜRKEL [Unknown]: Serdar TÜRKEL What is the name of your organizational unit? [Unknown]: Eğitmen [Unknown]: Eğitmen What is the name of your organization? [Unknown]: Edutime [Unknown]: Edutime What is the name of your City or Locality? [Unknown]: Marmara [Unknown]: Marmara What is the name of your State or Province? [Unknown]: İstanbul [Unknown]: İstanbul What is the two-letter country code for this unit? [Unknown]: TÜRKİYE [Unknown]: TÜRKİYE Is CN=Serdar TÜRKEL, OU=Eğitmen, O=Edutime, L=Marmara, ST=İstanbul, C=TÜRKİYE correct? [no]: yes [no]: yes

26 Jar Dosyasını İmzalamak jarsigner   -keystore c:\keys\key1   -storepass   -keypass qwerty   -signedjar sjar2.jar jar2.jar ANAHTAR

27 Jar Dosyasının Kontol Edilmesi  jarsigner -verify sjar2.jar

28 .cer oluşturma keytool   -export –keystore   c:\keys\key1 -alias ANAHTAR   -file ser.cer


"EDUTIME Java Day 9 Serdar TÜRKEL Java’da Güvenlik  JAR aracının tanımlanması  Bir JAR dosyasını oluşuturmak  Appletleri tanımak için Sayısal imzalar." indir ppt

Benzer bir sunumlar


Google Reklamları