ਸੁਨੇਹਾ ਕਹਿੰਦਾ ਹੈ ਕਿ ਨਿੱਜੀ ਕੁੰਜੀ ਦੀ ਲੰਬਾਈ ਗਲਤ ਹੈ, ਅਤੇ ਇਹ ਸ਼ਬਦ ਪਹਿਲਾਂ ਐਨਕੋਡਿੰਗ ਵੱਲ ਅਤੇ ਫਿਰ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹਨ। WireGuard ਕੁੰਜੀਆਂ 32 ਬਾਈਟ ਨੂੰ base64 ਵਜੋਂ ਐਨਕੋਡ ਕਰਦੀਆਂ ਹਨ, ਜਿਸ ਨਾਲ ਅੰਤਿਮ ਪੈਡਿੰਗ ਸਮੇਤ 44 ਅੱਖਰ ਮਿਲਦੇ ਹਨ, ਇਸ ਲਈ ਦੂਜੇ ਆਕਾਰ ਦਾ ਮੁੱਲ ਭਾਵੇਂ ਕਿੰਨਾ ਵੀ ਬੇਤਰਤੀਬ ਦਿਸੇ, ਕੁੰਜੀ ਨਹੀਂ ਹੁੰਦਾ। ਪਾਰਸਰ ਦੇ ਸਵੀਕਾਰ ਕਰਨ ਤੱਕ ਸਟ੍ਰਿੰਗ ਭਰਨ ਨਾਲ ਇੱਕ ਸੁਚੱਜਾ ਮੁੱਲ ਬਣਦਾ ਹੈ ਜਿਸ ਨੂੰ ਕੋਈ ਵੀ ਸਾਥੀ ਕਦੇ ਨਹੀਂ ਪਛਾਣੇਗਾ।

ਇਸ ਗਲਤੀ ਪਿੱਛੇ ਦੋ ਵੱਖਰੇ ਕੰਮ ਲੁਕੇ ਹਨ: ਵੈਧ ਕੁੰਜੀ ਦਾ ਟੈਕਸਟ ਠੀਕ ਕਰਨਾ, ਅਤੇ ਅਜਿਹੀ ਪਛਾਣ ਬਦਲਣਾ ਜੋ ਹੁਣ ਤੁਹਾਡੇ ਕੋਲ ਨਹੀਂ ਹੈ। ਇਨ੍ਹਾਂ ਦੇ ਨਤੀਜੇ ਵੱਖਰੇ ਹਨ, ਅਤੇ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਦੂਜੇ ਸਿਰੇ ਨੂੰ ਅਵੈਧ ਕਰ ਦਿੰਦਾ ਹੈ।

ਪਾਰਸਰ ਕੀ ਉਮੀਦ ਕਰਦਾ ਹੈ

WireGuard ਕੁੰਜੀ base64 ਵਿੱਚ ਮਿਆਰੀ ਪੈਡਿੰਗ ਨਾਲ 32 ਬਾਈਟ ਕੁੰਜੀ ਸਮੱਗਰੀ ਹੈ, ਜਿਸ ਨਾਲ 44 ਅੱਖਰਾਂ ਦੀ ਸਥਿਰ ਸਟ੍ਰਿੰਗ ਬਣਦੀ ਹੈ। ਸਾਧਨ ਹਰ ਉਸ ਚੀਜ਼ ਨੂੰ ਰੱਦ ਕਰਦੇ ਹਨ ਜੋ ਠੀਕ 32 ਬਾਈਟ ਵਿੱਚ ਡੀਕੋਡ ਨਹੀਂ ਹੁੰਦੀ, ਕਿਉਂਕਿ ਅਧਾਰ ਵਕਰ 32 ਬਾਈਟ ਦਾ ਸਕੈਲਰ ਲੈਂਦਾ ਹੈ ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ। ਜਨਤਕ ਅਤੇ ਨਿੱਜੀ ਮੁੱਲ ਇੱਕੋ ਐਨਕੋਡਿੰਗ ਵਰਤਦੇ ਹਨ, ਇਸ ਲਈ ਪਾਰਸਰ ਸਿਰਫ਼ ਫਾਰਮੈਟ ਤੋਂ ਨਹੀਂ ਦੱਸ ਸਕਦਾ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਚਿਪਕਾਇਆ। ਇਹੀ ਅਸਪਸ਼ਟਤਾ ਇਸ ਗਲਤੀ ਦੁਆਲੇ ਦੀ ਅੱਧੀ ਉਲਝਣ ਪੈਦਾ ਕਰਦੀ ਹੈ।

wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key

ਜੇ ਤੁਹਾਡਾ ਮੁੱਲ 32 ਬਾਈਟ ਵਿੱਚ ਡੀਕੋਡ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਲੰਬਾਈ ਠੀਕ ਹੈ ਅਤੇ ਸ਼ਿਕਾਇਤ ਫਾਈਲ ਵਿੱਚ ਕਿਤੇ ਹੋਰੋ ਆਉਂਦੀ ਹੈ। ਜੇ ਇਹ ਛੋਟੀ ਕਿਸੇ ਚੀਜ਼ ਵਿੱਚ ਡੀਕੋਡ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਕੱਟੀ ਹੋਈ ਸਮੱਗਰੀ ਹੈ, ਫਾਰਮੈਟ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ।

ਫਾਰਮੈਟ ਦਾ ਨੁਕਸਾਨ ਜਾਂ ਗਲਤ ਸਮੱਗਰੀ?

ਫਾਰਮੈਟ ਦਾ ਨੁਕਸਾਨ ਕਿਨਾਰਿਆਂ ਉੱਤੇ ਇਕੱਠਾ ਹੁੰਦਾ ਹੈ: ਸ਼ੈੱਲ ਵੱਲੋਂ ਜੋੜੇ ਕੋਟ, ਮੁੱਲ ਨਾਲ ਕਾਪੀ ਹੋਇਆ private_key ਵਰਗਾ ਲੇਬਲ, ਚੈਟ ਕਲਾਇੰਟ ਵੱਲੋਂ ਪਾਇਆ ਲਾਈਨ ਬ੍ਰੇਕ, ਜਾਂ ਚਿਪਕਾਉਣ ਤੋਂ ਬਚੀ ਅੰਤਿਮ ਥਾਂ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਬਾਈਟ ਬਦਲੇ ਬਿਨਾਂ ਸਟ੍ਰਿੰਗ ਬਦਲਦਾ ਹੈ, ਇਸ ਲਈ ਹਟਾਉਣ ਨਾਲ ਮੂਲ ਪਛਾਣ ਵਾਪਸ ਆ ਜਾਂਦੀ ਹੈ। ਪਾਰਸਰ ਦੇ ਚੁੱਪ ਹੋਣ ਤੱਕ ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਹਟਾਉਣ ਦੀ ਬਜਾਏ ਫਾਈਲ ਦੀ ਪ੍ਰੋਵੀਜ਼ਨਿੰਗ ਰਿਕਾਰਡ ਨਾਲ ਅੱਖਰ-ਦਰ-ਅੱਖਰ ਤੁਲਨਾ ਕਰੋ।

ਗਲਤ ਸਮੱਗਰੀ ਇੱਕ ਹੋਰ ਸਥਿਤੀ ਹੈ। ਪਾਸਵਰਡ, ਸਰਟੀਫਿਕੇਟ ਕੁੰਜੀ ਜਾਂ ਜਨਤਕ ਮੁੱਲ ਸਾਰੇ ਭਰੋਸੇਯੋਗ ਲੱਗ ਸਕਦੇ ਹਨ ਅਤੇ ਗਲਤ ਆਕਾਰ ਵਿੱਚ ਡੀਕੋਡ ਹੋ ਸਕਦੇ ਹਨ। ਕੋਈ ਵੀ ਸਫ਼ਾਈ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਸਾਥੀ ਦੇ ਉਮੀਦ ਕੀਤੇ ਸਕੈਲਰ ਨਹੀਂ ਬਣਾਉਂਦੀ। ਉਸ ਮਾਮਲੇ ਵਿੱਚ ਸੋਧ ਨਹੀਂ, ਨਵੀਂ ਪਛਾਣ ਚਾਹੀਦੀ ਹੈ।

ਨਿੱਜੀ ਖੇਤਰ ਵਿੱਚ ਜਨਤਕ ਕੁੰਜੀ

ਸਭ ਤੋਂ ਆਮ ਉਲਝਣ ਇਹ ਹੈ ਕਿ ਜਨਤਕ ਮੁੱਲ ਨਿੱਜੀ ਖੇਤਰ ਵਿੱਚ ਚਿਪਕਾਇਆ ਜਾਵੇ, ਜਾਂ ਉਲਟਾ। ਦੋਵੇਂ 32 ਬਾਈਟ ਦੇ ਵੈਧ base64 ਹਨ, ਇਸ ਲਈ ਲੰਬਾਈ ਦੀ ਜਾਂਚ ਪਾਸ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਹੈਂਡਸ਼ੇਕ ਬਾਅਦ ਵਿੱਚ ਲਾਭਦਾਇਕ ਸੁਨੇਹੇ ਬਿਨਾਂ ਫੇਲ ਹੁੰਦਾ ਹੈ। ਨਿੱਜੀ ਕੁੰਜੀ ਉਹ ਸਕੈਲਰ ਹੈ ਜੋ ਜਨਤਕ ਕੁੰਜੀ ਬਣਾਉਂਦੀ ਹੈ, ਇਸ ਲਈ ਜਨਤਕ ਮੁੱਲ ਕੱਢ ਕੇ ਸਾਥੀ ਵੱਲੋਂ ਅਧਿਕਾਰਤ ਕੀਤੇ ਨਾਲ ਤੁਲਨਾ ਕਰਕੇ ਇਹ ਤੈਅ ਕਰ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਕੱਢਿਆ ਮੁੱਲ ਰਿਕਾਰਡ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਗਲਤ ਪਛਾਣ ਹੈ, ਟਾਈਪਿੰਗ ਦੀ ਗਲਤੀ ਨਹੀਂ।

ਦੂਜੇ ਸਿਰੇ ਦੀ ਅਧਿਕਾਰਤ ਜਨਤਕ ਕੁੰਜੀ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤੇ ਬਿਨਾਂ ਕਲਾਇੰਟ ਦੀ ਨਿੱਜੀ ਕੁੰਜੀ ਬਦਲਣ ਨਾਲ ਉਹੀ ਬੇਮੇਲ ਫਿਰ ਬਣਦਾ ਹੈ, ਨਾਲ ਹੀ ਇਹ ਵਾਧੂ ਉਲਝਣ ਕਿ ਕਲਾਇੰਟ ਦੀ ਆਪਣੀ ਫਾਈਲ ਹੁਣ ਸਵੈ-ਸੰਗਤ ਦਿਸਦੀ ਹੈ। ਇੱਕੋ ਕਾਰਵਾਈ ਵਿੱਚ ਦੋਵੇਂ ਸਿਰੇ ਬਦਲੋ, ਨਹੀਂ ਤਾਂ ਅਗਲਾ ਵਿਅਕਤੀ ਗਲਤ ਅੱਧਾ ਡੀਬੱਗ ਕਰੇਗਾ।

ਪ੍ਰੋਫਾਈਲ ਠੀਕ ਕਰੋ, ਫਿਰ ਹੈਂਡਸ਼ੇਕ ਸਾਬਤ ਕਰੋ

ਇੱਕ ਵਾਰ ਕੁੰਜੀ ਸਹੀ ਆਕਾਰ ਵਿੱਚ ਡੀਕੋਡ ਹੋ ਜਾਵੇ ਅਤੇ ਅਧਿਕਾਰਤ ਜੋੜੀ ਨਾਲ ਮੇਲ ਖਾਵੇ, ਤਾਂ ਬਾਕੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਮਾਰਗ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੇ ਆਦੇਸ਼ ਲੋੜ ਪੈਣ ’ਤੇ ਨਵੀਂ ਜੋੜੀ ਬਣਾਉਂਦੇ ਹਨ, ਮੌਜੂਦਾ ਕੁੰਜੀ ਦਾ ਡੀਕੋਡ ਹੋਇਆ ਆਕਾਰ ਜਾਂਚਦੇ ਹਨ ਅਤੇ ਇੰਟਰਫੇਸ ਵੱਲੋਂ ਅਸਲ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਜਨਤਕ ਮੁੱਲ ਪੜ੍ਹਦੇ ਹਨ। ਨਿੱਜੀ ਮੁੱਲ ਕਦੇ ਵੀ ਟਿਕਟ ਜਾਂ ਡੀਕੋਡ ਸਾਈਟ ਵਿੱਚ ਨਾ ਚਿਪਕਾਓ।

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

ਆਕਾਰ ਦੀ ਜਾਂਚ ਦੱਸਦੀ ਹੈ ਕਿ ਸਮੱਗਰੀ ਕੁੰਜੀ-ਆਕਾਰ ਦੀ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਮਾਰਗ ਦਾ ਸਵਾਲ ਦੱਸਦਾ ਹੈ ਕਿ ਪੈਕਟ ਕਦੇ ਇੰਟਰਫੇਸ ਤੱਕ ਪਹੁੰਚੇਗਾ ਜਾਂ ਨਹੀਂ। ਦੋਵੇਂ ਜਾਂਚਾਂ ਪਾਸ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਖਾਲੀ ਰਹਿਣ ਵਾਲੀ ਹੈਂਡਸ਼ੇਕ ਲਾਈਨ ਨਿਦਾਨ ਨੂੰ ਸਾਥੀ ਦੇ ਅੰਤ ਬਿੰਦੂ ਅਤੇ ਮਨਜ਼ੂਰ ਪਤਿਆਂ ਵੱਲ ਭੇਜਦੀ ਹੈ। ਇੰਟਰਫੇਸ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਪ੍ਰੋਵੀਜ਼ਨਿੰਗ ਰਿਕਾਰਡ ਸਾਹਮਣੇ ਆਖਰੀ ਵਾਰ ਪੜ੍ਹੋ, ਕਿਉਂਕਿ ਪੁਰਾਣੀ ਸੰਭਾਲੀ ਪ੍ਰੋਫਾਈਲ ਸਹੀ ਦਿਸ ਸਕਦੀ ਹੈ ਜਦਕਿ ਸਰਗਰਮ ਪ੍ਰੋਫਾਈਲ ਵੱਖਰੀ ਹੋ ਸਕਦੀ ਹੈ]।

ਤੁਸੀਂ ਕਿਹੜਾ ਮੁੱਲ ਬਦਲਿਆ ਅਤੇ ਅਧਿਕਾਰਤ ਨਕਲ ਕਿੱਥੇ ਹੈ, ਲਿਖੋ। ਅਗਲੀ ਵਾਰ ਇਸ ਸਾਥੀ ਨੂੰ ਛੂਹਣ ਵਾਲੇ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਸਿਰਾ ਬਦਲਿਆ।

ਸੰਬੰਧਿਤ ਲੇਖ