SSL_CTX_set_cert_verify_callback va SSL_CTX_set_verify

Kimdir menga SSL_CTX_set_cert_verify_callback va SSL_CTX_set_verify o'rtasidagi farqni ayta oladimi? OpenSSL hujjatlaridan:

SSL_CTX_set_cert_verify_callback() ctx uchun tekshirishni qayta qo'ng'iroq qilish funksiyasini o'rnatadi. Ctx-dan yaratilgan SSL ob'ektlari SSL_new(3) chaqirilgan paytdagi sozlamani meros qilib oladi.

va:

SSL_CTX_set_verify() ctx rejimi uchun tekshirish bayroqlarini o'rnatadi va foydalaniladigan verify_callback funksiyasini belgilaydi. Agar qayta qo'ng'iroq qilish funksiyasi belgilanmagan bo'lsa, NULL ko'rsatgich verify_callback uchun ishlatilishi mumkin.

Shunday qilib, har biriga (mijoz tomonidan) qaysi qayta qo'ng'iroqni yuborish kerakligini tushunishga harakat qilaman.

Rahmat mutaxassislar.


person BreakPoint    schedule 28.04.2010    source manba


Javoblar (2)


SSL_CTX_set_cert_verify_callback() siz butun tekshirish jarayonini bajarish uchun funktsiyani belgilayotganingizni anglatadi (har bir sertifikatni o'z navbatida tasdiqlovchi sertifikat zanjiri bo'ylab yurish). [quyidagi ogohlantirishga ko'ra, buni qilishni xohlamasligingiz mumkin]

Boshqa tomondan, SSL_CTX_set_verify(), standart validator har bir sertifikatni tekshirganda chaqiriladigan funktsiyani belgilaydi, bunda preverify_ok 0 yoki 1 ga o'rnatilgan bo'lib, ushbu sertifikat tekshirilganligini ko'rsatadi.

SSL_CTX_set_cert_verify_callback() uchun hujjatdan

OGOHLANTIRISH

Ushbu funktsiyada tasvirlangan tekshirishni qayta qo'ng'iroq qilishni tekshirish jarayonida chaqirilgan verify_callback funktsiyasi bilan aralashtirmang. Ikkinchisi SSL_CTX_set_verify(3) funktsiyalar oilasi yordamida o'rnatiladi.

To'liq tekshirish protsedurasini taqdim etish, shu jumladan sertifikat maqsadlari sozlamalari va boshqalar murakkab vazifadir. O'rnatilgan protsedura juda kuchli va ko'p hollarda verify_callback funksiyasi yordamida uning xatti-harakatlarini o'zgartirish uchun etarli bo'lishi kerak.

person David Gelhar    schedule 28.04.2010
comment
SSL_CTX_set_verify() faqat standart tekshiruvchi ma'lum bir sertifikatni tasdiqlay olmaganini aniqlagandagina chaqiriladi? Demak, u sertifikatda biror narsa to'g'ri kelmasagina chaqiriladimi? - person BreakPoint; 28.04.2010
comment
Mening javobimni ko'ring. Tasdiqlash natijasidan qat'i nazar, u mijoz sertifikatiga chaqiriladi. OpenSSL natijani preverify_ok argumentidagi qayta qo'ng'iroqqa o'tkazadi. - person ZZ Coder; 28.04.2010
comment
Mijoz sertifikati uchun chaqiriladi deganingizda - faqat server tomondan demoqchimisiz? - person BreakPoint; 28.04.2010
comment
Ha. Agar siz mijoz bo'lsangiz, bularning barchasi siz uchun katta ahamiyatga ega emas. - person ZZ Coder; 28.04.2010
comment
Rahmat... Yana bir qancha savollar: 1. Mavzu nomini tekshirish standart OpenSSL protsedurasi bo'yicha amalga oshiriladimi? 2. Ushbu mexanizm amalga oshiradigan tekshiruvlarning to'liq ro'yxatini qayerdan olsam bo'ladi? 3. Ulardan birortasidan maxsus voz kechishning bir usuli bormi? (yaroqlilik sanasi, ishonch zanjiri va boshqalar) Ha bo'lsa - qanday qilib? Yana bir bor rahmat! - person BreakPoint; 28.04.2010

SSL_CTX_set_cert_verify_callback() standart sertifikatni tekshirish funksiyasini o‘zgartiradi. Ehtimol, buni qilmasligingiz kerak. Bu juda qiziq, siz har bir sertifikat uchun imzoni tekshirishingiz, zanjirni tekshirishingiz, ehtimol CRL ni tekshirishingiz kerak. Bu SSL ning eng murakkab qismi.

SSL_CTX_set_verify() SSL rejimini o'rnatish uchun ishlatiladi. Agar rejim SSL_VERIFY_PEER (2 tomonlama SSL) bo'lsa, mijoz sertifikatini qo'shimcha tekshirish uchun ushbu funktsiyada qayta qo'ng'iroqni ham o'rnatishingiz kerak (CN-ni oq ro'yxatga qarshi tekshirish va h.k.). Boshqa rejimlar uchun bu CB ishlatilmaydi. Mijoz rejimida ekanligingizni aytganingiz uchun bu qo‘ng‘iroq haqida tashvishlanishingizga hojat yo‘q.

person ZZ Coder    schedule 28.04.2010
comment
Javobingiz uchun rahmat. Standart tekshirish mavzu nomi nomuvofiqligini tekshiradimi? Menda ushbu tekshirishni amalga oshirish uchun SSL_CTX_set_verify() dan foydalanadigan namunaviy dastur bor. Mijoz tomonida. - person BreakPoint; 28.04.2010