Tоshkеnt aхbоrоt tехnоlоgiyalari


BOUNCY CASTRLE kriptografik kutubxonasini sozlash va undan



Yüklə 347,93 Kb.
səhifə3/7
tarix20.05.2023
ölçüsü347,93 Kb.
#111607
1   2   3   4   5   6   7
Tîshkånt aõbîrît tåõnîlîgiyalari univårsitåti «Axborot Xavfsizli

BOUNCY CASTRLE kriptografik kutubxonasini sozlash va undan


foydalanish
Bouncy Castle - bu juda ko'p ishlatiladigan kriptografik algoritmlarni o'z ichiga olgan engil xavfsizlik kriptografik to'plami, bu Java xavfsizlik tizimini juda yaxshi to'ldirishi mumkin, shuningdek elliptik egri kriptografiyasini qo'llab-quvvatlaydi.
Bouncy Castle-ni sozlashning ikkita usuli mavjud, ulardan biri dinamik o'rnatish, ikkinchisi esa statik. Konfiguratsiya usulidan qat'i nazar, avval Bouncy Castle to'plamini yuklab olishingiz kerak (albatta Maven va boshqa usullarni sozlash va ishlatish uchun ham foydalanishingiz mumkin).

      1. Dinamik o'rnatish usuli

Shunday qilib, Bouncy qal'asi to'g'ridan-to'g'ri atrof-muhitga kamroq bog'liq bo'lgan loyihada qo'llaniladi.



9

  • Ishlatishdan oldin BouncyCastle Provayderini dinamik ravishda qo'shing 1-misol:

public class hello {
// Динамическое использование провайдера
static {
Security.addProvider(new BouncyCastleProvider());
}

public static void main(String args[]) { System.out.println("Пожалуйста, введите данные для шифрования:");


}

Scanner scan = новый


сканер(System.in); while(scan.hasNext())





{

"BC");

try {
String date = scan.nextLine();
KeyGenerator kg = KeyGenerator.getInstance("AES"); kg.init(256);
SecretKey secretKey = kg.generateKey();
Cipher cipher = Cipher.getInstance("AES / CBC / PKCS7Padding",

cipher.init(Cipher.ENCRYPT_MODE, secretKey); byte[] enResult = cipher.doFinal(date.getBytes()); System.out.println("Зашифрованные данные:");


String strEnResult = Base64.toBase64String(enResult); System.out.println(strEnResult);
} catch (NoSuchAlgorithmException e) {
// TODO автоматически создается блок
catch e.printStackTrace();
} catch (NoSuchProviderException e) {
// TODO Автоматически сгенерированный блок
catch e.printStackTrace();
} catch (NoSuchPaddingException e) {
// TODO Автоматически сгенерированный блок
catch e.printStackTrace();
} catch (InvalidKeyException e) {
// TODO Автоматически созданный блок перехвата
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
// TODO Автоматически сгенерированный блок перехвата
e.printStackTrace();
} catch (BadPaddingException e) {
// TODO Автоматически сгенерированный блок перехвата
e.printStackTrace();

}
}
}

      1. Statik konfiguratsiya usuli

Statik konfiguratsiya usuli mahalliy Java muhitiga Bouncy Castle yordamini



qo'shishdir, siz ishlatishingiz kerak bo'lgan jar bcprov-ext-jdk15on-158.jar.



    • Bcprov-ext-jdk15on-158.jar-ni java sdk va java jre-ga qo'shing.

    • SDK joylashuvi -> C: \ Program Files \ Java \ jdk1.8.0_144 \ jre \ lib \ ext

    • Jre joylashuvi -> C: \ Program Files \ Java \ jre1.8.0_144 \ lib \ ext

    • Java.security xavfsizlik konfiguratsiya faylini o'zgartiring. Qulaylik uchun har ikkala xavfsizlik faylini SDK va JRE-da o'zgartirish yaxshidir. Aslida faqat SDK-da xavfsizlik faylini o'zgartiring.

    • SDK-da xavfsizlik fayli: C: \ ProgramFiles \ Java \ jdk1.8.0_144 \ jre \ lib \ security \ java.security

    • Jre xavfsizlik fayli: C: \ ProgramFiles \ Java \ jre1.8.0_144 \ lib \ security \ java.security

Xavfsizlik faylida quyidagi qismni toping:



Yüklə 347,93 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə