WireGuard sê die lengte van die privaat sleutel is verkeerd: wat nou?
’n Sleutel van 32 grepe is in base64 44 karakters. Besluit of die teks beskadig is of die identiteit verkeerd is voordat u iets hergenereer.
Die boodskap sê die privaat sleutel het die verkeerde lengte, en daardie bewoording wys eerste na die enkodering en eers daarna na die kriptografie. WireGuard-sleutels enkodeer 32 grepe as base64, wat 44 karakters gee insluitend ’n slotvulling, dus ’n waarde van ’n ander grootte is nie ’n sleutel hoe willekeurig dit ook al lyk nie. Om die string aan te vul tot die ontleder dit aanvaar, lewer ’n goed gevormde waarde wat geen eweknie ooit sal herken nie.
Agter hierdie fout skuil twee verskillende take: die teks van ’n geldige sleutel herstel, en ’n identiteit vervang wat u nie meer het nie. Dit het verskillende gevolge, en een daarvan maak die ander punt ongeldig.
Wat die ontleder verwag
’n WireGuard-sleutel is 32 grepe sleutelmateriaal in base64 met standaardvulling, wat ’n vaste string van 44 karakters gee. Die gereedskap verwerp alles wat nie presies na 32 grepe dekodeer nie, want die onderliggende kromme neem ’n skalaar van 32 grepe en niks anders nie. Openbare en private waardes gebruik dieselfde enkodering, so die ontleder kan nie net uit die formaat sien watter een u geplak het nie. Daardie dubbelsinnigheid veroorsaak die helfte van die verwarring rondom hierdie fout.
wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key
As u waarde na 32 grepe dekodeer, is die lengte reg en kom die klagte van ’n ander plek in die lêer. As dit na iets korter dekodeer, het u afgekapte materiaal en nie ’n formaatprobleem nie.
Formaatskade of verkeerde materiaal?
Formaatskade hoop op aan die rande: aanhalingstekens wat ’n dop bygevoeg het, ’n etiket soos private_key wat saam met die waarde gekopieer is, ’n reëlbreuk wat ’n kletssagteware ingevoeg het, of ’n sluitende spasie wat die plak oorleef het. Elkeen van hierdie veranderinge verander die string sonder om die grepe te verander, so die verwydering daarvan herstel die oorspronklike identiteit. Vergelyk die lêer teken vir teken met die voorsieningsrekord eerder as om punktuasie te stroop tot die ontleder stil word.
Verkeerde materiaal is ’n ander situasie. ’n Wagwoord, ’n sertifikaatsleutel of ’n openbare waarde kan almal geloofwaardig lyk en na die verkeerde grootte dekodeer. Geen skoonmaak maak enige een daarvan die skalaar wat die eweknie verwag nie. Daardie geval het ’n nuwe identiteit nodig, nie ’n wysiging nie.
’n Openbare sleutel in die private veld
Die algemeenste verwarring is ’n openbare waarde wat in die private veld geplak is, of omgekeerd. Albei is geldige base64 van 32 grepe, so die lengtebeheer slaag en die handdruk misluk later sonder ’n bruikbare boodskap. ’n Private sleutel is die skalaar wat die openbare een lewer, so u kan dit besleg deur die openbare waarde af te lei en dit te vergelyk met wat die eweknie magtig. Wanneer die afgeleide waarde nie met die rekord ooreenstem nie, het u die verkeerde identiteit en nie ’n tikfout nie.
Om die kliënt se private sleutel te vervang sonder om die gemagtigde openbare sleutel aan die ander kant op te dateer, herskep dieselfde wanverhouding, met die ekstra verwarring dat die kliënt se eie lêer nou selfsamehangend lyk. Verander albei kante in een bewerking, anders gaan die volgende persoon die verkeerde helfte ontfout.
Herstel die profiel en bewys dan die handdruk
Sodra die sleutel na die regte grootte dekodeer en by die gemagtigde paar pas, bly die profiel en die roete oor. Die opdragte hieronder genereer ’n vars paar wanneer nodig, verifieer die gedekodeerde grootte van ’n bestaande sleutel en lees die openbare waarde wat die koppelvlak werklik gebruik. Plak nooit ’n private waarde in ’n kaartjie of op ’n dekodeerwebwerf nie.
wg genkey | tee new.key | wg pubkey > new.pub
base64 -d private.key | wc -c
ip route get 10.60.9.5
wg show wg0 latest-handshakes
Die groottebeheer antwoord of die materiaal sleutelvormig is, en die roetevraag antwoord of ’n pakket ooit die koppelvlak sou bereik. ’n Handdruk-reël wat leeg bly nadat albei kontroles geslaag het, verskuif die diagnose na die eweknie se eindpunt en die toegelate adresse. Lees die koppelvlak se openbare sleutel een laaste keer teen die voorsieningsrekord, want ’n verouderde gestoorde profiel kan korrek lyk terwyl die aktiewe een verskil].
Nota van watter waarde u vervang het en waar die gemagtigde kopie is. Wie hierdie eweknie volgende aanraak, moet weet watter kant verander het.