strongSwan: rakto tipas, įkėlėjas ir netinkamas backend
PEM yra konteineris, o ne rakto tipas. Palyginkite sertifikato viešąjį raktą su privačiuoju ir įkelkite jį per backend, kuris iš tikrųjų jį nuskaito.
Failo plėtiniai nenurodo raktų algoritmų, o .pem apvalkalas gali turėti RSA arba ECDSA medžiagos. PEM aprašo, kaip įvyniojami baitai, o RSA ir ECDSA žymi skirtingus algoritmus, ir PKCS12 failas yra dar trečias dalykas. strongSwan įkelia prisijungimo duomenis per papildinius ir konfigūracijos backend, todėl sertifikatas gali pasirodyti sąraše, nors privatusis raktas niekada netampa naudojamas. Atskirkite šiuos sluoksnius prieš redaguodami bet kokią paslaptį.
Kodavimas, algoritmas ir pakavimas yra trys sluoksniai
Rakto failas turi kodavimą, algoritmą ir dažnai konteinerį. PEM yra pažįstamas base64 apvalkalas; DER yra jo dvejetainis atitikmuo; PKCS12 sujungia sertifikatą su jo raktu ir grandine. Sertifikatų grandinės failas yra dar vienas konteineris, ir jame paprastai nėra jokio privataus rakto. Nė viena iš šių žymų nepasako, ar viduje esanti medžiaga yra RSA, ar ECDSA.
Skaitykite algoritmą iš paties objekto. Tiekėjo rinkodaros pavadinimas arba failo plėtinys nėra įrodymas, nes tas pats išdavėjas gali išduoti skirtingų tipų raktus.
Palyginkite viešuosius raktus prieš kaltindami įkėlėją
Sertifikatas, kuris įkeliamas, įrodo, kad sertifikatas buvo išanalizuotas, o ne kad jo privatusis raktas yra ar naudojamas. Išveskite viešąjį raktą iš sertifikato ir iš siūlomo privataus rakto, tada palyginkite du maišos kodus. Jei kuri nors išgavimas nepavyksta, sustokite ten, nes tuščios išvesties maišos kodas nieko neįrodo. Sutampantys maišos kodai įrodo, kad pora priklauso viena kitai, ir nieko daugiau apie tai, ar sertifikatas tinka darbui.
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
Antroji komanda paliečia privatą medžiagą jūsų kompiuteryje, bet išduoda tik viešąją pusę. Palikite taip ir niekada neįklijuokite privataus rakto į bilietą. Jei raktas užšifruotas, leiskite palaikomam įrankiui paprašyti slaptafrazės, o ne dėkite ją į komandų eilutę, kur procesų sąrašas gali ją atskleisti.
Senas ipsec.secrets arba swanctl prisijungimo duomenys
strongSwan turi du dažnai naudojamus prisijungimo duomenų kelius. Senas starter rinkinys nuskaito tipo specifinius įrašus iš ipsec.secrets, ir kiekvienas įrašas turi nurodyti tinkamą medžiagos tipą. swanctl ir vici rinkinys įkelia raktus iš savo prisijungimo duomenų katalogo per savo konfigūraciją. Redaguoti failą, kurio veikiantis backend neskaito, nieko nekeičia.
: ECDSA "/etc/ipsec.d/private/server-key.pem"
Išsiaiškinkite, kuris backend iš tikrųjų veikia, tada įdėkite raktą ten, kur tas backend žiūri. senas strongSwan 5.9 vadovas apibrėžia tipo specifinius paslapčių įrašus, ir tai nėra swanctl dokumentacija. Sumaišius abu, sukuriamas daemonas, kuris ignoruoja failą, kurį administratorius laiko autoritetingu. Perkrovimas, kuris nepraneša klaidos, reiškia tik tai, kad konfigūracija buvo išanalizuota.
Skaitykite įkėlimo įvykį ir autentifikavimo rezultatą
Po kontroliuoto perkrovimo perskaitykite paties daemono įkėlimo išvestį konkrečiam raktui. Būsenos išraše nurodytas sertifikatas neparodo, kad privatusis raktas buvo su juo suporuotas.
Jei klientas vis dar nepavyksta, laikykite serverio įvykį ir kliento klaidą atskirai. Grandinės tikrinimas, tapatybės sutapimas ir metodų suderinamumas yra vėlesni klausimai su savais įrodymais. Užrašykite rezultatą su tiksliu rakto keliu ir maišos kodu, kurį palyginote, nes kitaip kita pamaina pakartos tą patį perkrovimą. CA pakeitimas nėra pirmoji reakcija į įkėlėjo neatitikimą.