Java platformasi xavfsizlikni, jumladan, til xavfsizligi, kriptografiya, ochiq kalitlar infratuzilmasi, autentifikatsiya, xavfsiz aloqa va kirishni boshqarishni ta'kidlaydi


Provayderlar aslida qanday amalga oshirilmoqda



Yüklə 67,8 Kb.
səhifə3/8
tarix19.12.2023
ölçüsü67,8 Kb.
#185149
1   2   3   4   5   6   7   8
Tarmoq MI 29 11

Provayderlar aslida qanday amalga oshirilmoqda

Yuqorida aytib o'tilganidek, algoritm mustaqilligiga barcha ilovalar xizmat turiga kirish uchun foydalanadigan umumiy yuqori darajadagi amaliy dasturlash interfeysini (API) aniqlash orqali erishiladi. Amalga oshirishning mustaqilligiga provayderning barcha ilovalari aniq belgilangan interfeyslarga mos kelishi orqali erishiladi. Dvigatel sinflarining misollari shunday qilib, bir xil usul imzolariga ega bo'lgan amalga oshirish sinflari bilan "qo'llab-quvvatlanadi". Ilova qo'ng'iroqlari vosita sinfi orqali yo'naltiriladi va asosiy qo'llab-quvvatlash dasturiga yetkaziladi. Amalga oshirish so'rovni bajaradi va kerakli natijalarni qaytaradi.


Har bir dvigatel sinfidagi dastur API usullari tegishli xizmat ko'rsatuvchi provayder interfeysini (SPI) amalga oshiradigan sinflar orqali provayderning ilovalariga yo'naltiriladi. Ya'ni, har bir dvigatel sinfi uchun har bir kriptografik xizmat ko'rsatuvchi provayder algoritmi amalga oshirishi kerak bo'lgan usullarni belgilovchi mos keladigan mavhum SPI klassi mavjud. Har bir SPI sinfining nomi mos keladigan dvigatel sinfi nomi bilan bir xil, keyin esa Spi. Misol uchun, Signature dvigatel klassi raqamli imzo algoritmining funksionalligiga kirishni ta'minlaydi. Haqiqiy provayder dasturi SignatureSpi pastki sinfida taqdim etilgan. Ilovalar vosita sinfining API usullarini chaqiradi, bu esa o'z navbatida haqiqiy amalga oshirishda SPI usullarini chaqiradi.


Har bir SPI klassi mavhumdir. Muayyan algoritm uchun xizmatning ma'lum bir turini amalga oshirishni ta'minlash uchun provayder tegishli SPI sinfini pastki sinfga ajratishi va barcha mavhum usullar uchun ilovalarni taqdim etishi kerak.


APIdagi har bir dvigatel sinfi uchun dastur misollari so'raladi va dvigatel sinfidagi getInstance() zavod usulini chaqirish orqali amalga oshiriladi. Zavod usuli - bu sinf namunasini qaytaradigan statik usul. Dvigatel sinflari haqiqiy qo'llab-quvvatlash dasturini (SPI) olish uchun yuqorida tavsiflangan ramka provayderini tanlash mexanizmidan foydalanadi va keyin haqiqiy vosita ob'ektini yaratadi. Dvigatel sinfining har bir nusxasi SPI ob'ekti sifatida ma'lum bo'lgan mos keladigan SPI sinfining namunasini (xususiy maydon sifatida) qamrab oladi. API ob'ektining barcha API usullari yakuniy deb e'lon qilinadi va ularni amalga oshirish kapsullangan SPI ob'ektining tegishli SPI usullarini chaqiradi.


Buni aniqroq qilish uchun quyidagi kod va rasmni ko'rib chiqing:



Ilova "AES" shifrlash namunasini qanday olishi misolining tavsifi


Bu yerda ilova "AES" javax.crypto.Cipher misolini xohlaydi va qaysi provayderdan foydalanilishiga ahamiyat bermaydi. Ilova Cipher dvigatel sinfining getInstance() zavod usullarini chaqiradi, bu esa o'z navbatida JCA tizimidan "AES" ni qo'llab-quvvatlaydigan birinchi provayder nusxasini topishni so'raydi. Ramka har bir o'rnatilgan provayder bilan maslahatlashadi va Provayder sinfining provayder namunasini oladi. (Esingizda bo'lsin, Provayder klassi mavjud algoritmlarning ma'lumotlar bazasidir.) Ramka har bir provayderni qidiradi va nihoyat CSP3 da mos yozuvni topadi. Ushbu ma'lumotlar bazasiga kirish CipherSpi-ni kengaytiruvchi com.foo.AESCipher amalga oshirish sinfiga ishora qiladi va shuning uchun Cipher dvigatel klassi tomonidan foydalanish uchun mos keladi. com.foo.AESCipher nusxasi yaratildi va ilovaga qaytariladigan javax.crypto.Cipher yangi yaratilgan nusxasida inkapsulyatsiya qilinadi. Ilova endi Cipher misolida init() operatsiyasini bajarsa, Cipher mexanizmi sinfi so'rovni com.foo.AESCipher sinfidagi mos keladigan engineInit() qo'llab-quvvatlash usuliga yo'naltiradi.


A ilovasida Java muhiti uchun belgilangan standart nomlar keltirilgan. Boshqa uchinchi tomon provayderlari ushbu xizmatlarni yoki hatto qo'shimcha xizmatlarni o'zlari amalga oshirishni belgilashlari mumkin.





Yüklə 67,8 Kb.

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




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin