Утас холбогдохоос татгалзаж No trusted RSA public key found for vpn.example.net гэж хэвлэдэг бол ижил гарцын сертификат ижил сүлжээн дэх зөөврийн компьютер дээр ажилладаг. Сертификатыг дахин олгох нь уруу татагч алхам. Үүнийг хийхээс өмнө гурван алдааны алийг нь авахаа тодорхойл, учир нь зөвхөн нэг нь сертификатын агуулгатай холбоотой. Мессеж нь дутуу гинжин хэлхээ, таних тэмдгийн зөрүү, дэмжигдээгүй түлхүүр эсвэл гарын үсгийг хамардаг бөгөөд тус бүр өөр засвартай.

Нэг мессежийн ард гурван алдаа

Android гарцын сертификатаас VPN профайлд сонгосон CA хүртэл гинжин хэлхээ үүсгээд, дараа нь серверийн нэрийг профайлтай харьцуулдаг. Мэдэгдэл үе шатыг биш, үр дүнг мэдээлдэг. Итгэлцлийн алдаа гэдэг нь солилцоонд хүргэсэн сертификатуудаас гинжин хэлхээг гүйцээж чадаагүй гэсэн үг; таних тэмдгийн алдаа нь гинжин хэлхээ баталгаажсан ч нэр тохироогүй гэсэн үг; алгоритмын алдаа нь төхөөрөмж эсвэл профайл түлхүүрийн төрөл эсвэл гарын үсгийг хүлээж авахгүй гэсэн үг.

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

Засваруудыг дараалан туршихын оронд нотолгоогоор шийд. Демон руу логын түвшин 2-оор нэг оролдлого нь та аль мөрөнд байгааг хэлж, хэзээ ч буруу байгаагүй сертификатыг дахин олгохоос бага зардалтай.

Эхлээд шийд: бүх гинжин хэлхээ ирсэн үү?

strongSwan тэр холболтод тохируулсан сертификатыг илгээдэг бөгөөд завсрын сертификатууд нь тусдаа итгэмжлэл юм. Демон тэдгээрийг ачаалалд хийхийн өмнө CA сертификат хэлбэрээр ачаалах ёстой, тиймээс серверийн сертификатыг завсрын сертификатаар гарын үсэг зурсан, үндэс нь итгэлцлийн зангуу, завсрын сертификат нь зөвхөн CA-ийн бүтээх хавтас дотор байдаг зохион байгуулалт яг энэ алдааг үүсгэдэг: утсан дээр зөвхөн навч, утсан дээр гинжин хэлхээ эрт дуусдаг.

swanctl байрлуулалт дээр swanctl --list-certs, эсвэл хуучин starter-тай ipsec listcerts ашиглан демон юу хадгалж байгааг шалга. Завсрын сертификат нь дээрээ үндэстэй CA сертификат хэлбэрээр харагдах ёстой. Хэрэв байхгүй бол ямар ч клиент сонголт тус болохгүй; хэрэв байгаа бол дараагийн асуулт руу шилж.

Дараа нь илгээгдэх эсэхийг шалга. swanctl.conf лавлагаа send_cert-ийг тодорхойлдог бөгөөд түүний анхдагч ifasked нь тал зөвхөн асуусан үед сертификат илгээдэг; always ямар ч тохиолдолд илгээдэг. Хуучин дүйцэх нь ipsec.conf доторх leftsendcert=always юм. Энэ тохиргоо нь илгээхийг хянадаг, боломжтой байдлыг биш, тиймээс демон хэзээ ч ачаалаагүй завсрын сертификатыг нөхөж чадахгүй.

Гинжин хэлхээ богино бол демон хайдаг газарт завсрын сертификатыг ачаал

Завсрын сертификатыг навчны хажууд биш, CA хавтас дотор тавь: ipsec.conf тохиргоонд /etc/ipsec.d/cacerts, swanctl-д /etc/swanctl/x509ca, эсвэл таны багц сольдог зам. Тохиргоог дахин ачаалж, сертификатуудыг дахин жагсаа. Зарим хувилбар нь гинжин хэлхээг навчны файл дотор агуулсан багцыг ч илгээдэг, гэхдээ CA хавтас нь хувилбар, багцуудын хооронд зөөврийн шийдэл юм.

Клиент талаас ч шалга. Утас зөвхөн солилцоонд ирснийг хардаг тул логын түвшин 2 дахь демоны лог илгээсэн сертификатуудын дотор завсрын сертификатыг харуулах ёстой. Лог үүнийг харуулсан ч утас ажиллахгүй бол та хүснэгтийн өөр мөрөнд байгаа бөгөөд CA файлуудыг үргэлжлүүлэн тохируулснаар үр дүн өөрчлөгдөхгүй.

Гинжин хэлхээ бүрэн бол сертификат засварлахаа болино

Таних тэмдгийн алдаа нь VPN профайл дахь нэр болон сертификат дахь нэрийн зөрүү юм. Android таны тохируулсан серверийн таних тэмдгийг өөрийн баталгаажуулсан сертификаттай харьцуулдаг тул сертификат хостын нэр гэж байхад хаяг руу заасан профайл, эсвэл сертификат хамардаггүй хостын нэрийг заасан профайл нь гинжин хэлхээ амжилттай баталгаажсаны дараа бүтэлгүйтдэг. Буруу талыг засаж, аль нэг нь өөрчлөгдөхөд профайл болон сертификатыг зэрэгцүүлж бай.

Алгоритмын алдаа нь хүчинтэй гинжин хэлхээ, тохирох нэртэйгээр гардаг. Android хувилбарууд ямар түлхүүрийн төрөл, гарын үсгийн схем хүлээж авахдаа ялгаатай бөгөөд профайлын төрөл өөрөө сонголтуудыг хязгаарладаг. Гарц хуучин эсвэл ер бусын хослол ашиглаж байгаа бол сертификат гэмтсэн гэж үзэхээс өмнө төхөөрөмжийн дэмждэгтэй харьцуул. Демоны лог итгэлцлийн тохиолдлоос илүү хол явж буй handshake-ийг харуулах бөгөөд энэ нь гинжин хэлхээ цаашид асуудал биш гэсэн дохио юм.

Завсрын сертификатыг утсан дээр хэрэглэгчийн үндэс болгон бүү суулга

Дутуу завсрын сертификатыг утсан дээр хэрэглэгчийн сертификат болгон суулгах нь анхааруулгыг арилгаж, хэрэглэгчийн суулгасан үндсийг хүлээн авдаг бүх апп-д утасны итгэлцлийн загварыг өөрчилдөг. Мөн дараагийн клиентэд тохиолдох хүргэлтийн алдааг нууж, гарц бүх ирээдүйн төхөөрөмжид дутуу гинжин хэлхээ илгээхэд хүргэдэг. Бат бөх засвар нь сервер дээр, нэг удаа, бүх клиентэд.

Өөрчлөлтийн бүртгэлд гурван шийдвэрийг тусад нь хадгал: ямар сертификат илгээгдсэн, ямар таних тэмдэг харьцуулсан, ямар алгоритм тохиролцсон. Үргэлж бүрэн гинжин хэлхээгээ илгээдэг гарц, сертификатыг зөв нэрлэдэг профайл, флот дэмждэг түлхүүрийн төрөл — эдгээр нь гурван жижиг баримт бөгөөд энэ алдааны бүхэн тэдгээр юм.

Холбоотой нийтлэлүүд