strongSwan: jenis kunci, pemuat dan backend yang salah
PEM ialah bekas, bukan jenis kunci. Bandingkan kunci awam sijil dengan kunci peribadi, kemudian muatkannya melalui backend yang benar-benar membacanya.
Sambungan fail tidak mengenal pasti algoritma kunci, dan sampul .pem boleh mengandungi bahan RSA atau ECDSA. PEM menerangkan cara bita dibalut, manakala RSA dan ECDSA menamakan algoritma berbeza, dan fail PKCS12 ialah perkara ketiga. strongSwan memuatkan kelayakan melalui pemalam dan backend konfigurasi, jadi sijil boleh muncul dalam senarai sementara kunci peribadi tidak pernah menjadi boleh digunakan. Pisahkan lapisan itu sebelum mengedit sebarang rahsia.
Pengekodan, algoritma dan pembungkusan ialah tiga lapisan
Fail kunci mempunyai pengekodan, algoritma dan selalunya bekas. PEM ialah sampul base64 yang biasa; DER ialah rakan binariya; PKCS12 mengumpulkan sijil bersama kunci dan rantaiannya. Fail rantaian sijil ialah bekas lain lagi, dan biasanya tidak mengandungi sebarang kunci peribadi. Tiada satu pun label itu memberitahu sama ada bahan di dalamnya RSA atau ECDSA.
Baca algoritma daripada objek itu sendiri. Nama pemasaran pembekal atau sambungan fail bukan bukti, kerana pengeluar yang sama boleh mengeluarkan jenis kunci yang berbeza.
Bandingkan kunci awam sebelum menyalahkan pemuat
Sijil yang dimuatkan membuktikan sijil itu dihuraikan, bukan bahawa kunci peribadinya hadir atau boleh digunakan. Terbitkan kunci awam daripada sijil dan daripada kunci peribadi yang dicadangkan, kemudian bandingkan kedua-dua ringkasan. Jika mana-mana pengekstrakan gagal, berhenti di situ, kerana ringkasan output kosong tidak membuktikan apa-apa. Ringkasan yang sepadan membuktikan pasangan itu milik bersama, dan tidak lebih tentang sama ada sijil itu sesuai untuk tugas itu.
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
Arahan kedua menyentuh bahan peribadi pada mesin anda tetapi hanya mengeluarkan separuh awam. Biarkan begitu, dan jangan sekali-kali tampal kunci peribadi ke dalam tiket. Jika kunci disulitkan, biarkan alat yang disokong meminta frasa laluan dan bukannya meletakkannya pada baris arahan tempat senarai proses boleh mendedahkannya.
ipsec.secrets lama atau kelayakan swanctl
strongSwan mempunyai dua laluan kelayakan yang biasa digunakan. Timbunan starter lama membaca entri khusus jenis daripada ipsec.secrets, dan setiap entri mesti menyatakan jenis yang betul untuk bahan itu. Timbunan swanctl dan vici memuatkan kunci daripada direktori kelayakannya sendiri melalui konfigurasinya sendiri. Mengedit fail yang tidak dibaca oleh backend yang berjalan tidak mengubah apa-apa.
: ECDSA "/etc/ipsec.d/private/server-key.pem"
Ketahui backend mana yang benar-benar berjalan, kemudian letakkan kunci di tempat backend itu melihat. manual lama strongSwan 5.9 mentakrifkan entri rahsia khusus jenis, dan ini bukan dokumentasi swanctl. Mencampurkan kedua-duanya menghasilkan daemon yang mengabaikan fail yang dianggap pentadbir sebagai berwibawa. Muat semula yang tidak melaporkan ralat hanya bermaksud konfigurasi itu dihuraikan.
Baca peristiwa pemuatan dan hasil pengesahan
Selepas muat semula terkawal, baca output pemuatan daemon itu sendiri untuk kunci tertentu. Sijil yang tersenarai dalam dump status tidak menunjukkan bahawa kunci peribadi telah dipadankan dengannya.
Jika klien masih gagal, asingkan peristiwa pelayan dan ralat klien. Pengesahan rantaian, pemadanan identiti dan keserasian kaedah ialah soalan kemudian dengan buktinya sendiri. Catat hasilnya dengan laluan kunci yang tepat dan ringkasan yang anda bandingkan, kerana jika tidak syif seterusnya akan mengulangi muat semula yang sama. Menggantikan CA bukan tindak balas pertama terhadap ketidakpadanan pemuat.