EDUTIME Java Day 9 Serdar TÜRKEL.

Slides:



Advertisements
Benzer bir sunumlar
E-İÇİŞLERİ KARŞILAŞILAN SORUNLAR
Advertisements

Java Programlama Giriş/Çıkış
Yazılım Geliştirme ve Java
Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Translated from Sawitch Chapter 13 by Dr. Galip AYDIN
EDUTIME Java Day 6 Serdar TÜRKEL.
e-Fatura İşlemleri e-Fatura İşlemleri İçin Gerekli Adımlar
Yığın ve Kuyruk.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Programlama-II (Java ile Bilgisayar Programlama)
STİL SAYFALARI GELİŞTİRMEK
E-İmza Deneyimi Özgür Deniz Erzincan 15/07/2004 Telekom Dünyası,
Arayüzler.  Bir classın ne yaptığı nasıl yaptığından daha önemlidir  abstract kelimesi bir classın ne yapacağını belirler  interface tamamı abstract.
Bölüm 6 – Metodlar ve Parametreler
Bölüm 4 – Kontrol İfadeleri:1.kısım
EDUTIME Java Day 4 Serdar TÜRKEL.
Metodlar ve Parametreler
E-İçerik Arama, Bulma ve Seçme
Karar ifadeleri ve Döngüler
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Java Programlama Diline Giriş
Çerez(Cookie) Kullanımı Oturum Yönetimi
Nesne Tabanlı Programlama
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
EDUTIME applet Day 7 Serdar TÜRKEL.
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
Erişim Denetimi, Fonksiyon
 HTML nin en önemli araçlarından biri de bilgi girişinde kullanılan form kontrolleridir.  Formlar, web sayfası tasarlayan kişi veya şirketlerle internet.
C# Metot Overloading (Aşırı yükleme)
İSİM UZAYLARI (NAMESPACE)
Kabuk ve Kısayollar BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
Java Sınıf ve Nesne Kavramı UML Gösterimi
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
ÇOK BİÇİMLİLİK POLYMORPHISM
APPLET KAVRAMI ve GRAFİK UYGULAMALARI
Önceki Dersi Hatırlama !!
EDUTIME Java Day 8 Serdar TÜRKEL.
Numaralandırmalar(Enumaration)
ETKİLEŞİMLİ TÜRKİYE APPLETİ
JAVA’DA DİZİLER Dr.Galip AYDIN.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
BSM447 – MOBİL UYGULAMA GELİŞTİRME
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 7. Hafta.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
HTML HTML Nedir? HTML Ne İşe Yarar?. HTML (HyperText Markup Language / Hareketli-Metin İşaretleme Dili) basitçe, tarayıcılarla görebileceğimiz, internet.
Konu : WİNDOWSTA VERİ DEPOLAMA YÖNTEMLERİ Hazırlayan : Güray Mantar
XML ve XML WEB SERVİSLERİ Volkan ALTINTAŞ. XML Bağımsız bir kuruluş olan W3C tarafından tasarlanmıştır. Herhangi bir kurumun tekelinde değildir. Kişilerin.
E-YEDEKLEMELİ SAKLAMA. E-Yedeklemeli Saklama E-Faturalarınız ve e-arşiv faturalarınız EDM e-fatura sistemine kaydolmanız ile beraber sistem üzerinden.
E-İMZA KUBİLAY KOCABAL BİLGİ İŞLEM ORGANİZASYONU
haZIRLAYAN: ELİF KARAOĞLU
Active Directory.
ACTIVE DIRECTORY.
E - İMZA ANIL TUNCER
WEB TASARIMI HTML LİSTELER VE FRAMELER SAVAŞ TUNÇER.
Trakya Üniversitesi Teknik Bilimler Meslek Yüksekokulu
Bilgisayar Programlamasına ve Veri Analizine Giriş
HTTP Kullanıcı Asıllama ve Yetkilendirme
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Sunum transkripti:

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 Güvenlik anahtarı aracı oluşturmak Sayısal sertifikalarlar çalışmak Java.security paketini anlamak

JAR Aracı JAR Dosyası: JAR aracını çalıştırmak için : 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. 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 Aracı Seçenek Açıklama c t x v f m O M Yeni arşiv oluşturur 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

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

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: <applet code = “class file name” ARCHIVE = “pack.jar” height = “125” width = “350”> </applet> ‘pack.jar’ dosyasında sıkıştırılmış tüm dosyaları çıkarır.   jar xvf pack.jar

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){}

Apletleri tanımak için sayısal imzalar Apletlerin desteklemediği bazı özellikler: Apleltin çalışmakta olduğu sistemeden dosyaları okuma ve yazma. Sistemdeki bir dosya hakkında bilgi alma 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.

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

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: VeriSign ThawtCertification

Java güvenlik anahtarı Apleti imzalamadan önce: ‘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. ‘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 anahtarları tutar Doğruluk kontrolü için sertifikalar kullanır Kaynak verinin doğruluğunu kontrol eder.

Java güvenlik anahtarı Jarsigner komutunun bazı seçenekleri Seçenek Açı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.

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 İmzalanmış bir JAR dosyasının imzasının doğruluğunu kontrol etmek için komut jarsigner –verify pack.jar

Java güvenlik anahtarı Doğrulama süreci:  ‘.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.

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.

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

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

Java Güvenlik paketleri  java.security Temel güvenlik paketidir.  java.security.acl Eriş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ğlar java.security.interfaces Sayı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 sunar

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.

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); }

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

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

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

Anahtar Oluşturmak Enter keystore password: 123456 Bu komut yazıldıktan sonra aşağıdaki mesaj alınacaktır. Enter keystore password: 123456 What is your first and last name? [Unknown]: Serdar TÜRKEL What is the name of your organizational unit? [Unknown]: Eğitmen What is the name of your organization? [Unknown]: Edutime What is the name of your City or Locality? [Unknown]: Marmara What is the name of your State or Province? [Unknown]: İstanbul What is the two-letter country code for this unit? [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

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

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

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