strongSwan: тип кључа, учитавач и погрешан backend
PEM је контејнер, а не тип кључа. Упоредите јавни кључ сертификата са приватним, затим га учитајте кроз backend који га заиста чита.
Наставци датотека не одређују алгоритме кључева, а .pem омотач може садржати RSA или ECDSA материјал. PEM описује како се бајтови умотавају, док RSA и ECDSA означавају различите алгоритме, а датотека PKCS12 је трећа ствар. strongSwan учитава акредитиве кроз додатке и конфигурациони backend, па се сертификат може појавити на листи док приватни кључ никада не постане употребљив. Одвојите те слојеве пре него што измените било коју тајну.
Кодирање, алгоритам и паковање су три слоја
Датотека кључа има кодирање, алгоритам и често контејнер. PEM је познати base64 омотач; DER је његов бинарни пандан; PKCS12 спаја сертификат са његовим кључем и ланцем. Датотека ланца сертификата је још један контејнер и обично не садржи никакав приватни кључ. Ниједна од тих ознака не каже да ли је материјал унутра RSA или ECDSA.
Читајте алгоритам из самог објекта. Маркетиншко име добављача или наставак датотеке нису доказ, јер исти издавач може издати различите типове кључева.
Упоредите јавне кључеве пре него што оптужите учитавач
Сертификат који се учита доказује да је сертификат анализиран, а не да је његов приватни кључ присутан или употребљив. Изведите јавни кључ из сертификата и из предложеног приватног кључа, затим упоредите два хеша. Ако било које извлачење не успе, зауставите се тамо, јер хеш празног излаза ништа не доказује. Подударни хешеви доказују да пар припада заједно, и ништа више о томе да ли сертификат одговара послу.
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
Друга команда дотиче приватни материјал на вашем рачунару, али исписује само јавну половину. Оставите тако и никада не лепите приватни кључ у тикет. Ако је кључ шифрован, пустите подржани алат да затражи лозинку уместо да је стављате на командну линију где је списак процеса може открити.
Стари ipsec.secrets или swanctl акредитиви
strongSwan има два често коришћена пута акредитива. Стари starter стек чита записе специфичне за тип из ipsec.secrets, и сваки запис мора навести исправан тип за материјал. swanctl и vici стек учитава кључеве из свог директоријума акредитива кроз сопствену конфигурацију. Измена датотеке коју покренути backend не чита ништа не мења.
: ECDSA "/etc/ipsec.d/private/server-key.pem"
Откријте који backend заиста ради, затим ставите кључ тамо где тај backend гледа. стари приручник strongSwan 5.9 дефинише записе тајни специфичне за тип, и то није swanctl документација. Мешање обоје ствара демон који игнорише датотеку коју администратор сматра меродавном. Поновно учитавање које не пријављује грешку значи само да је конфигурација анализирана.
Читајте догађај учитавања и резултат аутентикације
После контролисаног поновног учитавања, прочитајте сопствени излаз учитавања демона за конкретан кључ. Сертификат наведен у испису стања не показује да је приватни кључ упарен са њим.
Ако клијент и даље не успева, држите догађај сервера и грешку клијента одвојено. Валидација ланца, подударање идентитета и компатибилност метода су каснија питања са сопственим доказима. Запишите резултат са тачном путањом кључа и хешем који сте упоредили, јер ће у супротном следећа смена поновити исто учитавање. Замена CA није прва реакција на неслагање учитавача.