Ponsel menolak terhubung dan mencetak No trusted RSA public key found for vpn.example.net, padahal sertifikat gateway yang sama berfungsi dari laptop di jaringan yang sama. Langkah yang menggoda adalah menerbitkan ulang sertifikat. Sebelum itu, tentukan mana dari tiga kegagalan yang Anda hadapi, karena hanya satu yang menyangkut isi sertifikat.

Tiga kegagalan di balik satu pesan

Android membangun rantai dari sertifikat gateway ke CA yang dipilih di profil VPN, lalu membandingkan nama server dengan profil. Notifikasi melaporkan hasilnya, bukan tahapnya. Kegagalan kepercayaan berarti rantai tidak dapat diselesaikan dengan sertifikat yang dikirim dalam pertukaran; kegagalan identitas berarti rantai valid tetapi nama tidak cocok; kegagalan algoritme berarti perangkat atau profil tidak menerima jenis kunci atau tanda tangan.

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

Putuskan dengan bukti alih-alih mencoba perbaikan berurutan. Satu percobaan pada tingkat log 2 di daemon memberi tahu Anda di baris mana, dan biayanya lebih kecil daripada menerbitkan ulang sertifikat yang tidak pernah salah.

Putuskan dulu: apakah seluruh rantai tiba?

strongSwan mengirim sertifikat yang dikonfigurasi untuk koneksi itu, dan sertifikat perantara adalah kredensial terpisah. Keduanya harus dimuat sebagai sertifikat CA sebelum daemon dapat menempatkannya di muatan, jadi tata letak di mana sertifikat server ditandatangani oleh perantara, akar adalah jangkar kepercayaan, dan perantara hanya hidup di direktori build CA menghasilkan tepat kegagalan ini: hanya daun di kabel dan rantai berakhir awal di ponsel.

Periksa apa yang dipegang daemon dengan swanctl --list-certs pada penerapan swanctl, atau ipsec listcerts dengan starter lama. Perantara harus muncul sebagai sertifikat CA dengan akar di atasnya. Jika tidak ada, tidak ada opsi klien yang membantu; jika ada, lanjut ke pertanyaan berikutnya.

Lalu periksa apakah itu akan dikirim. Referensi swanctl.conf mendokumentasikan send_cert, yang nilai bawaannya ifasked mengirim sertifikat hanya saat rekan meminta, sedangkan always selalu mengirim. Padanan lama adalah leftsendcert=always di ipsec.conf. Pengaturan itu mengatur pengiriman, bukan ketersediaan, jadi tidak dapat menggantikan perantara yang tidak pernah dimuat daemon.

Jika rantai pendek, muat perantara di tempat daemon mencari

Letakkan perantara di direktori CA, bukan di samping daun: /etc/ipsec.d/cacerts untuk tata letak dengan ipsec.conf, /etc/swanctl/x509ca untuk swanctl, atau jalur yang digantikan paket Anda. Muat ulang konfigurasi dan daftar sertifikat lagi. Beberapa versi juga mengirim bundel yang memuat rantai di dalam berkas daun, tetapi direktori CA adalah tata letak portabel antar versi dan paket.

Periksa juga dari sisi klien. Ponsel hanya melihat apa yang dibawa pertukaran, jadi log daemon pada tingkat 2 harus menunjukkan perantara di antara sertifikat yang dikirim. Jika log menunjukkannya dan ponsel tetap gagal, Anda berada di baris lain tabel dan penyesuaian berkas CA tidak akan mengubah hasil.

Jika rantai lengkap, berhenti menyunting sertifikat

Kegagalan identitas adalah ketidakcocokan antara nama di profil VPN dan nama di sertifikat. Android membandingkan identitas server yang Anda atur dengan sertifikat yang divalidasinya, jadi profil yang menunjuk alamat sementara sertifikat menyebut nama host, atau profil dengan nama host yang tidak dicakup sertifikat, gagal setelah validasi rantai berhasil. Perbaiki sisi yang salah dan jaga profil serta sertifikat tetap selaras.

Kegagalan algoritme muncul dengan rantai valid dan nama cocok. Rilis Android berbeda dalam jenis kunci dan skema tanda tangan yang diterima, dan jenis profil itu sendiri membatasi pilihan. Jika gateway memakai kombinasi lama atau tidak biasa, bandingkan dengan dukungan perangkat sebelum menganggap sertifikat rusak. Log akan menunjukkan jabat tangan berjalan lebih jauh daripada kasus kepercayaan, tanda bahwa rantai bukan lagi masalahnya.

Jangan pasang perantara sebagai akar pengguna di ponsel

Memasang perantara yang hilang sebagai sertifikat pengguna di ponsel membuat peringatan hilang dan mengubah model kepercayaan ponsel bagi setiap aplikasi yang menerima akar terpasang pengguna. Itu juga menyembunyikan cacat pengiriman yang akan mengenai klien berikutnya dan membiarkan gateway mengirim rantai tidak lengkap ke setiap perangkat mendatang. Perbaikan tahan lama ada di server, sekali, untuk semua klien.

Pisahkan tiga keputusan dalam catatan perubahan: sertifikat mana yang dikirim, identitas mana yang dibandingkan, dan algoritme mana yang dinegosiasikan. Gateway yang selalu mengirim rantai lengkapnya, profil yang menamai sertifikat dengan benar, dan jenis kunci yang didukung armada adalah tiga fakta kecil, dan itulah seluruh kegagalan ini.

Artikel terkait