Telefon ulanmaydi va No trusted RSA public key found for vpn.example.net chop etadi, holbuki xuddi shu shlyuz sertifikati xuddi shu tarmoqdagi noutbukdan ishlaydi. Sertifikatni qayta chiqarish vasvasali qadamdir. Buni qilishdan oldin uchta nosozlikdan qaysi biri sizda borligini aniqlang, chunki ulardan faqat bittasi sertifikat mazmuniga tegishli. Xabar to'liq bo'lmagan zanjirni, identifikatsiya mos kelmasligini va qo'llab-quvvatlanmaydigan kalit yoki imzoni qamrab oladi va har birining tuzatishi boshqacha.

Bitta xabar ortidagi uchta nosozlik

Android shlyuz sertifikatidan VPN profilida tanlangan CA gacha zanjir quradi, so'ng server nomini profil bilan solishtiradi. Bildirishnoma bosqichni emas, natijani bildiradi. Ishonch nosozligi zanjirni almashinuvda berilgan sertifikatlardan yakunlab bo'lmaganini bildiradi; identifikatsiya nosozligi zanjir tekshirilgan, lekin nom mos kelmaganini bildiradi; algoritm nosozligi qurilma yoki profil kalit turini yoki imzoni qabul qilmasligini bildiradi.

What you seeWhat it points toFirst move
Chain stops after the leaf in the daemon logintermediate not loaded or not sentload the intermediate as CA material
Chain validates, name differs from the profileidentity mismatchfix the profile name or the certificate SAN
Chain validates, handshake still failskey or signature not acceptedcompare key type against the device

Tuzatishlarni ketma-ket sinash o'rniga dalillar bilan qaror qiling. Daemonga qarshi jurnal 2-darajasida bitta urinish qaysi qatorda ekaningizni aytadi va hech qachon xato bo'lmagan sertifikatni qayta chiqarishdan arzonroq.

Avval qaror qiling: butun zanjir keldimi?

strongSwan shu ulanish uchun sozlangan sertifikatni yuboradi, oraliq sertifikatlar esa alohida hisob ma'lumotlari. Daemon ularni foydali yuklamaga joylashtirishdan oldin CA sertifikati sifatida yuklanishi kerak, shuning uchun server sertifikati oraliq bilan imzolangan, ildiz ishonch langari bo'lgan va oraliq faqat CA qurish katalogida joylashgan tuzilma aynan shu nosozlikni keltirib chiqaradi: simda faqat barg, telefonda zanjir erta tugaydi.

swanctl o'rnatmasida swanctl --list-certs yoki eski starter bilan ipsec listcerts yordamida daemon nima saqlayotganini tekshiring. Oraliq ustida ildiz bo'lgan CA sertifikati sifatida ko'rinishi kerak. Agar yo'q bo'lsa, hech qanday mijoz varianti yordam bermaydi; agar bo'lsa, keyingi savolga o'ting.

So'ng u yuborilishini tekshiring. swanctl.conf ma'lumotnomasi send_cert ni hujjatlashtiradi, uning standart ifasked qiymati sertifikatlarni faqat sherik so'raganda yuboradi; always har qanday holatda yuboradi. Eski muqobili ipsec.conf ichidagi leftsendcert=always. Bu sozlama yuborishni boshqaradi, mavjudlikni emas, shuning uchun daemon hech qachon yuklamagan oraliqni qoplay olmaydi.

Zanjir qisqa bo'lsa, oraliqni daemon qidiradigan joyga yuklang

Oraliqni barg yoniga emas, CA katalogiga qo'ying: ipsec.conf sozlamasi uchun /etc/ipsec.d/cacerts, swanctl uchun /etc/swanctl/x509ca yoki paketingiz almashtiradigan yo'l. Konfiguratsiyani qayta yuklang va sertifikatlarni yana ro'yxatlang. Ba'zi versiyalar zanjirni barg fayli ichida saqlagan to'plamni ham yuboradi, ammo CA katalogi versiyalar va paketlar bo'ylab ko'chiriladigan tartibdir.

Mijoz tomonidan ham tekshiring. Telefon faqat almashinuv olib kelgan narsani ko'radi, shuning uchun jurnal 2-darajasidagi daemon jurnali yuborilgan sertifikatlar orasida oraliqni ko'rsatishi kerak. Jurnal uni ko'rsatsa-yu telefon baribir ishlamasa, siz jadvalning boshqa qatoridasiz va CA fayllarini sozlashni davom ettirish natijani o'zgartirmaydi.

Zanjir to'liq bo'lsa, sertifikatlarni tahrirlashni to'xtating

Identifikatsiya nosozligi VPN profilidagi nom bilan sertifikatdagi nom o'rtasidagi mos kelmaslikdir. Android siz sozlagan server identifikatsiyasini u tekshirgan sertifikat bilan solishtiradi, shuning uchun sertifikat xost nomini ko'rsatganda manzilga ishora qiluvchi profil yoki sertifikat qamramagan xost nomini ko'rsatuvchi profil muvaffaqiyatli zanjir tekshiruvidan keyin ishlamaydi. Xato tomonni tuzating va biri o'zgarganda profil bilan sertifikatni mos holatda saqlang.

Algoritm nosozligi to'g'ri zanjir va mos nom bilan namoyon bo'ladi. Android versiyalari qaysi kalit turlari va imzo sxemalarini qabul qilishi bilan farqlanadi va profil turining o'zi variantlarni cheklaydi. Shlyuz eski yoki noodatiy birikmadan foydalansa, sertifikat buzilgan deb hisoblashdan oldin qurilma qo'llab-quvvatlaydigan narsa bilan solishtiring. Daemon jurnali qo'l berish ishonch holatidan ko'ra uzoqroq davom etayotganini ko'rsatadi va bu zanjir endi muammo emasligining belgisidir.

Oraliqni telefonda foydalanuvchi ildizi sifatida o'rnatmang

Yetishmayotgan oraliqni telefonda foydalanuvchi sertifikati sifatida o'rnatish ogohlantirishni yo'q qiladi va foydalanuvchi o'rnatgan ildizlarni qabul qiladigan har bir ilova uchun telefonning ishonch modelini o'zgartiradi. Shuningdek, keyingi mijozga tegadigan yetkazib berish xatosini yashiradi va shlyuz har bir kelajakdagi qurilmaga to'liq bo'lmagan zanjir yuborishiga olib keladi. Bardoshli tuzatish serverda, bir marta, barcha mijozlar uchun.

O'zgarishlar yozuvida uchta qarorni alohida saqlang: qaysi sertifikatlar yuborilgani, qaysi identifikatsiya solishtirilgani va qaysi algoritm kelishilgani. Har doim to'liq zanjirini yuboradigan shlyuz, sertifikatni to'g'ri nomlaydigan profil va flot qo'llab-quvvatlaydigan kalit turi — bu uchta kichik fakt va bu nosozlikning barchasi shulardir.

O'xshash maqolalar