Android IKEv2 ਭਰੋਸਾ ਗਲਤੀ: ਰੂਟ ਨਹੀਂ, ਵਿਚਕਾਰਲਾ CA ਭੇਜੋ
ਪ੍ਰਾਪਤ ਚੇਨ ਜਲਦੀ ਖਤਮ ਹੋਣ ਕਰਕੇ ਫੋਨ ਗੇਟਵੇ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। ਫੈਸਲਾ ਕਰੋ: ਵਿਚਕਾਰਲਾ ਭੇਜੋ, ਪਛਾਣ ਠੀਕ ਕਰੋ ਜਾਂ ਕੁੰਜੀ ਦੀ ਕਿਸਮ ਬਦਲੋ।
ਫੋਨ ਜੁੜਨ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ ਅਤੇ No trusted RSA public key found for vpn.example.net ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ, ਜਦਕਿ ਉਹੀ ਗੇਟਵੇ ਸਰਟੀਫਿਕੇਟ ਉਸੇ ਨੈੱਟਵਰਕ ਦੇ ਲੈਪਟਾਪ ਤੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਨਾ ਲੁਭਾਉਣ ਵਾਲਾ ਕਦਮ ਹੈ। ਅਜਿਹਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਪਤਾ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜੀ ਅਸਫਲਤਾ ਹੈ, ਕਿਉਂਕਿ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਸਿਰਫ ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਦੀ ਸਮਗਰੀ ਬਾਰੇ ਹੈ। ਸੁਨੇਹਾ ਅਧੂਰੀ ਚੇਨ, ਪਛਾਣ ਦੀ ਬੇਮੇਲ ਅਤੇ ਅਸਮਰਥਿਤ ਕੁੰਜੀ ਜਾਂ ਦਸਤਖਤ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਹਰੇਕ ਦਾ ਵੱਖਰਾ ਹੱਲ ਹੈ।
ਇੱਕ ਸੁਨੇਹੇ ਪਿੱਛੇ ਤਿੰਨ ਅਸਫਲਤਾਵਾਂ
Android ਗੇਟਵੇ ਸਰਟੀਫਿਕੇਟ ਤੋਂ VPN ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਚੁਣੇ CA ਤੱਕ ਚੇਨ ਬਣਾਉਂਦਾ ਹੈ, ਫਿਰ ਸਰਵਰ ਦਾ ਨਾਮ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਤੁਲਨਾ ਕਰਦਾ ਹੈ। ਸੂਚਨਾ ਪੜਾਅ ਨਹੀਂ, ਨਤੀਜਾ ਦੱਸਦੀ ਹੈ। ਭਰੋਸਾ ਅਸਫਲਤਾ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਵਿੱਚ ਦਿੱਤੇ ਸਰਟੀਫਿਕੇਟਾਂ ਤੋਂ ਚੇਨ ਪੂਰੀ ਨਹੀਂ ਹੋ ਸਕੀ; ਪਛਾਣ ਅਸਫਲਤਾ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਚੇਨ ਪ੍ਰਮਾਣਿਤ ਹੋਈ ਪਰ ਨਾਮ ਮੇਲ ਨਹੀਂ ਖਾਦਾ; ਐਲਗੋਰਿਦਮ ਅਸਫਲਤਾ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਡਿਵਾਈਸ ਜਾਂ ਪ੍ਰੋਫਾਈਲ ਕੁੰਜੀ ਦੀ ਕਿਸਮ ਜਾਂ ਦਸਤਖਤ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ।
| What you see | What it points to | First move |
|---|---|---|
| Chain stops after the leaf in the daemon log | intermediate not loaded or not sent | load the intermediate as CA material |
| Chain validates, name differs from the profile | identity mismatch | fix the profile name or the certificate SAN |
| Chain validates, handshake still fails | key or signature not accepted | compare key type against the device |
ਹੱਲ ਕ੍ਰਮ ਵਿੱਚ ਅਜ਼ਮਾਉਣ ਦੀ ਬਜਾਏ ਸਬੂਤ ਨਾਲ ਫੈਸਲਾ ਕਰੋ। ਡੈਮਨ ਵਿਰੁੱਧ ਲੌਗ ਪੱਧਰ 2 'ਤੇ ਇੱਕ ਕੋਸ਼ਿਸ਼ ਦੱਸਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿਹੜੀ ਕਤਾਰ ਵਿੱਚ ਹੋ, ਅਤੇ ਇਹ ਕਦੇ ਗਲਤ ਨਾ ਹੋਏ ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਨ ਤੋਂ ਘੱਟ ਖਰਚਾ ਹੈ।
ਪਹਿਲਾਂ ਫੈਸਲਾ ਕਰੋ: ਪੂਰੀ ਚੇਨ ਆਈ?
strongSwan ਉਸ ਕਨੈਕਸ਼ਨ ਲਈ ਸੰਰਚਿਤ ਸਰਟੀਫਿਕੇਟ ਭੇਜਦਾ ਹੈ, ਅਤੇ ਵਿਚਕਾਰਲੇ ਸਰਟੀਫਿਕੇਟ ਵੱਖਰੇ ਪ੍ਰਮਾਣ ਹਨ। ਡੈਮਨ ਉਨ੍ਹਾਂ ਨੂੰ ਪੇਲੋਡ ਵਿੱਚ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹ CA ਸਰਟੀਫਿਕੇਟ ਵਜੋਂ ਲੋਡ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ, ਇਸ ਲਈ ਉਹ ਸੰਰਚਨਾ ਜਿੱਥੇ ਸਰਵਰ ਸਰਟੀਫਿਕੇਟ ਵਿਚਕਾਰਲੇ ਦੁਆਰਾ ਦਸਤਖਤ ਹੈ, ਰੂਟ ਭਰੋਸਾ ਐਂਕਰ ਹੈ, ਅਤੇ ਵਿਚਕਾਰਲਾ ਸਿਰਫ CA ਦੀ ਬਿਲਡ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਹੈ, ਠੀਕ ਇਹੀ ਅਸਫਲਤਾ ਪੈਦਾ ਕਰਦੀ ਹੈ: ਤਾਰ 'ਤੇ ਸਿਰਫ ਪੱਤਾ, ਫੋਨ 'ਤੇ ਚੇਨ ਜਲਦੀ ਖਤਮ ਹੁੰਦੀ ਹੈ।
swanctl ਡਿਪਲਾਇਮੈਂਟ 'ਤੇ swanctl --list-certs ਜਾਂ ਪੁਰਾਣੇ starter ਨਾਲ ipsec listcerts ਵਰਤ ਕੇ ਡੈਮਨ ਕੋਲ ਕੀ ਹੈ ਜਾਂਚੋ। ਵਿਚਕਾਰਲਾ ਉਸ ਉੱਪਰ ਰੂਟ ਵਾਲੇ CA ਸਰਟੀਫਿਕੇਟ ਵਜੋਂ ਦਿਖਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਗੁੰਮ ਹੈ, ਕੋਈ ਕਲਾਇੰਟ ਵਿਕਲਪ ਮਦਦ ਨਹੀਂ ਕਰੇਗਾ; ਜੇ ਮੌਜੂਦ ਹੈ, ਅਗਲੇ ਸਵਾਲ 'ਤੇ ਜਾਓ।
ਫਿਰ ਜਾਂਚੋ ਕਿ ਇਹ ਭੇਜਿਆ ਜਾਵੇਗਾ ਜਾਂ ਨਹੀਂ। swanctl.conf ਹਵਾਲਾ send_cert ਦਾ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ, ਜਿਸਦਾ ਡਿਫਾਲਟ ifasked ਸਾਥੀ ਦੇ ਮੰਗਣ 'ਤੇ ਹੀ ਸਰਟੀਫਿਕੇਟ ਭੇਜਦਾ ਹੈ; always ਹਮੇਸ਼ਾ ਭੇਜਦਾ ਹੈ। ਪੁਰਾਣਾ ਬਰਾਬਰ ipsec.conf ਵਿੱਚ leftsendcert=always ਹੈ। ਉਹ ਸੈਟਿੰਗ ਭੇਜਣ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ, ਉਪਲਬਧਤਾ ਨੂੰ ਨਹੀਂ, ਇਸ ਲਈ ਡੈਮਨ ਵੱਲੋਂ ਕਦੇ ਲੋਡ ਨਾ ਕੀਤੇ ਵਿਚਕਾਰਲੇ ਦੀ ਭਰਪਾਈ ਨਹੀਂ ਕਰ ਸਕਦੀ।
ਜੇ ਚੇਨ ਛੋਟੀ ਹੈ, ਵਿਚਕਾਰਲਾ ਉੱਥੇ ਲੋਡ ਕਰੋ ਜਿੱਥੇ ਡੈਮਨ ਲੱਭਦਾ ਹੈ
ਵਿਚਕਾਰਲਾ ਪੱਤੇ ਦੇ ਕੋਲ ਨਹੀਂ, CA ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖੋ: ipsec.conf ਸੈਟਅੱਪ ਲਈ /etc/ipsec.d/cacerts, swanctl ਲਈ /etc/swanctl/x509ca, ਜਾਂ ਉਹ ਪਾਥ ਜੋ ਤੁਹਾਡਾ ਪੈਕੇਜ ਬਦਲਦਾ ਹੈ। ਸੰਰਚਨਾ ਦੁਬਾਰਾ ਲੋਡ ਕਰੋ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਦੁਬਾਰਾ ਸੂਚੀਬੱਧ ਕਰੋ। ਕੁਝ ਸੰਸਕਰਣ ਪੱਤਾ ਫਾਈਲ ਵਿੱਚ ਚੇਨ ਵਾਲਾ ਬੰਡਲ ਵੀ ਭੇਜਦੇ ਹਨ, ਪਰ CA ਡਾਇਰੈਕਟਰੀ ਸੰਸਕਰਣਾਂ ਅਤੇ ਪੈਕੇਜਾਂ ਵਿੱਚ ਲਿਜਾਣਯੋਗ ਵਿਵਸਥਾ ਹੈ।
ਕਲਾਇੰਟ ਪਾਸਿਓਂ ਵੀ ਪ੍ਰਮਾਣਿਤ ਕਰੋ। ਫੋਨ ਸਿਰਫ ਉਹੀ ਦੇਖਦਾ ਹੈ ਜੋ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਲਿਆਇਆ, ਇਸ ਲਈ ਲੌਗ ਪੱਧਰ 2 ਦੇ ਡੈਮਨ ਲੌਗ ਵਿੱਚ ਭੇਜੇ ਸਰਟੀਫਿਕੇਟਾਂ ਵਿੱਚ ਵਿਚਕਾਰਲਾ ਦਿਖਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਲੌਗ ਦਿਖਾਉਂਦਾ ਹੈ ਪਰ ਫੋਨ ਫਿਰ ਵੀ ਅਸਫਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਸਾਰਣੀ ਦੀ ਹੋਰ ਕਤਾਰ ਵਿੱਚ ਹੋ, ਅਤੇ CA ਫਾਈਲਾਂ ਨੂੰ ਸਮਾਯੋਜਿਤ ਕਰਦੇ ਰਹਿਣ ਨਾਲ ਨਤੀਜਾ ਨਹੀਂ ਬਦਲੇਗਾ।
ਜੇ ਚੇਨ ਪੂਰੀ ਹੈ, ਸਰਟੀਫਿਕੇਟ ਸੋਧਣਾ ਬੰਦ ਕਰੋ
ਪਛਾਣ ਅਸਫਲਤਾ ਦਾ ਮਤਲਬ VPN ਪ੍ਰੋਫਾਈਲ ਦੇ ਨਾਮ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਦੇ ਨਾਮ ਵਿੱਚ ਬੇਮੇਲ ਹੈ। Android ਤੁਹਾਡੇ ਦੁਆਰਾ ਸੰਰਚਿਤ ਸਰਵਰ ਪਛਾਣ ਦੀ ਤੁਲਨਾ ਉਸ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਇਸਨੇ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ, ਇਸ ਲਈ ਉਹ ਪ੍ਰੋਫਾਈਲ ਜੋ ਪਤੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ ਜਦਕਿ ਸਰਟੀਫਿਕੇਟ ਹੋਸਟਨਾਮ ਦੱਸਦਾ ਹੈ, ਜਾਂ ਉਹ ਪ੍ਰੋਫਾਈਲ ਜੋ ਅਜਿਹਾ ਹੋਸਟਨਾਮ ਦੱਸਦਾ ਹੈ ਜੋ ਸਰਟੀਫਿਕੇਟ ਕਵਰ ਨਹੀਂ ਕਰਦਾ, ਸਫਲ ਚੇਨ ਪ੍ਰਮਾਣਨ ਤੋਂ ਬਾਅਦ ਅਸਫਲ ਹੁੰਦਾ ਹੈ। ਗਲਤ ਪਾਸਾ ਠੀਕ ਕਰੋ, ਅਤੇ ਜਦੋਂ ਕੋਈ ਇੱਕ ਬਦਲੇ ਤਾਂ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਮੇਲ ਵਿੱਚ ਰੱਖੋ।
ਐਲਗੋਰਿਦਮ ਅਸਫਲਤਾ ਵੈਧ ਚੇਨ ਅਤੇ ਮੇਲ ਖਾਂਦੇ ਨਾਮ ਨਾਲ ਦਿਖਦੀ ਹੈ। Android ਸੰਸਕਰਣ ਇਸ ਵਿੱਚ ਵੱਖਰੇ ਹਨ ਕਿ ਕਿਹੜੀਆਂ ਕੁੰਜੀ ਕਿਸਮਾਂ ਅਤੇ ਦਸਤਖਤ ਸਕੀਮਾਂ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ, ਅਤੇ ਪ੍ਰੋਫਾਈਲ ਕਿਸਮ ਆਪ ਹੀ ਵਿਕਲਪਾਂ ਨੂੰ ਸੀਮਿਤ ਕਰਦੀ ਹੈ। ਜੇ ਗੇਟਵੇ ਪੁਰਾਣਾ ਜਾਂ ਅਸਧਾਰਨ ਸੰਜੋਗ ਵਰਤਦਾ ਹੈ, ਤਾਂ ਸਰਟੀਫਿਕੇਟ ਖਰਾਬ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਡਿਵਾਈਸ ਦੇ ਸਮਰਥਨ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਡੈਮਨ ਲੌਗ ਦਿਖਾਏਗਾ ਕਿ ਹੈਂਡਸ਼ੇਕ ਭਰੋਸੇ ਵਾਲੇ ਕੇਸ ਨਾਲੋਂ ਅੱਗੇ ਵਧਦਾ ਹੈ, ਜੋ ਸੰਕੇਤ ਹੈ ਕਿ ਚੇਨ ਹੁਣ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ।
ਵਿਚਕਾਰਲੇ ਨੂੰ ਫੋਨ 'ਤੇ ਉਪਭੋਗਤਾ ਰੂਟ ਵਜੋਂ ਸਥਾਪਿਤ ਨਾ ਕਰੋ
ਗੁੰਮ ਵਿਚਕਾਰਲੇ ਨੂੰ ਫੋਨ 'ਤੇ ਉਪਭੋਗਤਾ ਸਰਟੀਫਿਕੇਟ ਵਜੋਂ ਸਥਾਪਿਤ ਕਰਨ ਨਾਲ ਚੇਤਾਵਨੀ ਗਾਇਬ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ-ਸਥਾਪਿਤ ਰੂਟ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲੇ ਹਰ ਐਪ ਲਈ ਫੋਨ ਦਾ ਭਰੋਸਾ ਮਾਡਲ ਬਦਲ ਜਾਂਦਾ ਹੈ। ਇਹ ਅਗਲੇ ਕਲਾਇੰਟ ਨੂੰ ਲੱਗਣ ਵਾਲੀ ਡਿਲਿਵਰੀ ਬੱਗ ਵੀ ਲੁਕਾਉਂਦਾ ਹੈ, ਅਤੇ ਗੇਟਵੇ ਨੂੰ ਹਰ ਭਵਿੱਖੀ ਡਿਵਾਈਸ ਨੂੰ ਅਧੂਰੀ ਚੇਨ ਭੇਜਦਾ ਰਹਿਣ ਦਿੰਦਾ ਹੈ। ਟਿਕਾਊ ਹੱਲ ਸਰਵਰ 'ਤੇ, ਇੱਕ ਵਾਰ, ਸਾਰੇ ਕਲਾਇੰਟਾਂ ਲਈ ਹੈ।
ਬਦਲਾਅ ਰਿਕਾਰਡ ਵਿੱਚ ਤਿੰਨ ਫੈਸਲੇ ਵੱਖਰੇ ਰੱਖੋ: ਕਿਹੜੇ ਸਰਟੀਫਿਕੇਟ ਭੇਜੇ ਗਏ, ਕਿਹੜੀ ਪਛਾਣ ਦੀ ਤੁਲਨਾ ਕੀਤੀ ਗਈ, ਅਤੇ ਕਿਹੜਾ ਐਲਗੋਰਿਦਮ ਗੱਲਬਾਤ ਵਿੱਚ ਤੈਅ ਹੋਇਆ। ਉਹ ਗੇਟਵੇ ਜੋ ਹਮੇਸ਼ਾ ਆਪਣੀ ਪੂਰੀ ਚੇਨ ਭੇਜਦਾ ਹੈ, ਉਹ ਪ੍ਰੋਫਾਈਲ ਜੋ ਸਰਟੀਫਿਕੇਟ ਦਾ ਸਹੀ ਨਾਮ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਉਹ ਕੁੰਜੀ ਕਿਸਮ ਜੋ ਫਲੀਟ ਸਮਰਥਨ ਕਰਦੀ ਹੈ — ਇਹ ਤਿੰਨ ਛੋਟੇ ਤੱਥ ਹਨ, ਅਤੇ ਇਹ ਪੂਰੀ ਅਸਫਲਤਾ ਐਨੀ ਹੀ ਹੈ।