strongSwan: tipe kunci, pemuat, dan backend yang salah
PEM adalah wadah, bukan tipe kunci. Bandingkan kunci publik sertifikat dengan kunci privat, lalu muat melalui backend yang benar-benar membacanya.
Ekstensi berkas tidak mengidentifikasi algoritme kunci, dan selubung .pem dapat memuat materi RSA atau ECDSA. PEM menjelaskan bagaimana bita dibungkus, sedangkan RSA dan ECDSA menamai algoritme berbeda, dan berkas PKCS12 adalah hal ketiga. strongSwan memuat kredensial melalui plugin dan backend konfigurasi, sehingga sertifikat dapat muncul dalam daftar sementara kunci privatnya tidak pernah dapat digunakan. Pisahkan lapisan itu sebelum menyunting rahasia apa pun.
Pengodean, algoritme, dan pengemasan adalah tiga lapisan
Berkas kunci memiliki pengodean, algoritme, dan sering kali wadah. PEM adalah selubung base64 yang lazim; DER adalah padanan binernya; PKCS12 membungkus sertifikat bersama kuncinya dan rantainya. Berkas rantai sertifikat adalah wadah lain lagi, dan biasanya sama sekali tidak memuat kunci privat. Tak satu pun label itu memberi tahu apakah materi di dalamnya RSA atau ECDSA.
Baca algoritme dari objeknya sendiri. Nama pemasaran penyedia atau ekstensi berkas bukanlah bukti, karena penerbit yang sama dapat menerbitkan tipe kunci berbeda.
Bandingkan kunci publik sebelum menyalahkan pemuat
Sertifikat yang termuat membuktikan sertifikat itu terurai, bukan bahwa kunci privatnya ada atau dapat digunakan. Turunkan kunci publik dari sertifikat dan dari kunci privat yang diusulkan, lalu bandingkan kedua digest. Jika salah satu ekstraksi gagal, berhenti di situ, karena digest keluaran kosong tidak membuktikan apa pun. Digest yang cocok membuktikan pasangan itu memang berpasangan, dan tidak lebih tentang apakah sertifikat itu cocok untuk pekerjaan tersebut.
openssl x509 -in server.crt -pubkey -noout |
openssl pkey -pubin -outform DER |
openssl dgst -sha256
openssl pkey -in server-key.pem -pubout -outform DER |
openssl dgst -sha256
Perintah kedua menyentuh materi privat di mesin Anda tetapi hanya mengeluarkan separuh publiknya. Biarkan begitu, dan jangan pernah menempelkan kunci privat ke tiket. Jika kunci terenkripsi, biarkan alat yang didukung meminta frasa sandi alih-alih meletakkannya di baris perintah tempat daftar proses dapat menampakkannya.
ipsec.secrets lama atau kredensial swanctl
strongSwan punya dua jalur kredensial yang umum dipakai. Tumpukan starter lama membaca entri khusus tipe dari ipsec.secrets, dan setiap entri harus menyebutkan tipe yang tepat untuk materinya. Tumpukan swanctl dan vici memuat kunci dari direktori kredensialnya sendiri melalui konfigurasinya sendiri. Menyunting berkas yang tidak dibaca backend yang berjalan tidak mengubah apa pun.
: ECDSA "/etc/ipsec.d/private/server-key.pem"
Cari tahu backend mana yang benar-benar berjalan, lalu letakkan kunci di tempat backend itu melihat. panduan lama strongSwan 5.9 mendefinisikan entri rahasia khusus tipe, dan ini bukan dokumentasi swanctl. Mencampur keduanya menghasilkan daemon yang mengabaikan berkas yang dianggap administrator sebagai otoritatif. Muat ulang yang tidak melaporkan galat hanya berarti konfigurasi itu terurai.
Baca peristiwa pemuatan dan hasil autentikasi
Setelah muat ulang yang terkendali, baca keluaran pemuatan daemon sendiri untuk kunci tertentu. Sertifikat yang tercantum dalam dump status tidak menunjukkan bahwa kunci privat telah dipasangkan dengannya.
Jika klien masih gagal, pisahkan peristiwa server dan galat klien. Validasi rantai, pencocokan identitas, dan kompatibilitas metode adalah pertanyaan lanjutan dengan buktinya sendiri. Tuliskan hasilnya bersama jalur kunci yang tepat dan digest yang Anda bandingkan, karena jika tidak, shift berikutnya akan mengulangi muat ulang yang sama. Mengganti CA bukan respons pertama terhadap ketidakcocokan pemuat.