ਅਣਸਹਾਇਕ ਸਰਟੀਫਿਕੇਟ ਉਦੇਸ਼: ਮੱਧਵਰਤੀ CA ਕਿਉਂ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ
ਜਦੋਂ OpenVPN ਅਣਸਹਾਇਕ ਸਰਟੀਫਿਕੇਟ ਉਦੇਸ਼ ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ, ਲੀਫ਼ ਸਰਟੀਫਿਕੇਟ ਨਿਰਦੋਸ਼ ਹੋ ਸਕਦਾ ਹੈ। ਕੁਝ ਵੀ ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਲੀਫ਼ ਦੇ ਉਦੇਸ਼ ਦੀ ਚੇਨ ਦੀ ਨੀਤੀ ਨਾਲ ਤੁਲਨਾ ਕਰੋ।
ਸਰਵਰ ਸਰਟੀਫਿਕੇਟ ਦਾ ਉਦੇਸ਼ ਸਹੀ ਦਿਸਦਾ ਹੈ, ਕੁੰਜੀ ਮੇਲ ਖਾਂਦੀ ਹੈ, ਤਰੀਕਾਂ ਠੀਕ ਹਨ, ਅਤੇ ਕਨੈਕਸ਼ਨ ਫਿਰ ਵੀ unsupported certificate purpose ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ। ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਵਾਲਾ ਵੇਰਵਾ ਆਮ ਤੌਰ 'ਤੇ ਗਲਤੀ ਵਾਲੀ ਉਸੇ ਲਾਈਨ ਵਿੱਚ ਹੁੰਦਾ ਹੈ: ਇੱਕ ਡੂੰਘਾਈ ਮੁੱਲ ਅਤੇ ਇੱਕ subject ਜੋ ਚੇਨ ਵਿੱਚ ਉੱਪਰਲੇ ਸਰਟੀਫਿਕੇਟ ਦਾ ਨਾਮ ਦਿੰਦੇ ਹਨ। ਦੋ ਵੱਖ-ਵੱਖ ਟੈਸਟ ਚੱਲ ਰਹੇ ਹਨ, ਅਤੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਲੀਫ਼ ਬਾਰੇ ਹੈ। ਉਨ੍ਹਾਂ ਦੀ ਤੁਲਨਾ ਦੱਸਦੀ ਹੈ ਕਿ ਸਰਵਰ ਸਰਟੀਫਿਕੇਟ ਬਦਲਣ ਨਾਲ ਕੁਝ ਕਿਉਂ ਨਹੀਂ ਬਦਲਦਾ।
ਤਸਦੀਕਕਰਤਾ ਨੇ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਸਰਟੀਫਿਕੇਟ ਰੱਦ ਕੀਤਾ
ਚੇਨ ਤਿੰਨ ਵਾਰ ਦੁਹਰਾਈ ਗਈ ਇੱਕ ਵਸਤੂ ਨਹੀਂ ਹੈ। ਲੀਫ਼ ਸਰਵਰ ਦਾ ਨਾਮ ਅਤੇ ਕੁੰਜੀ ਰੱਖਦਾ ਹੈ, ਮੱਧਵਰਤੀ ਸਰਟੀਫਿਕੇਟ ਇਸਨੂੰ ਜੜ੍ਹ ਨਾਲ ਜੋੜਦੇ ਹਨ, ਅਤੇ ਹਰੇਕ ਦੀ ਆਪਣੀ ਵੈਧਤਾ ਮਿਆਦ, ਸੀਮਾਵਾਂ ਅਤੇ ਵਰਤੋਂ ਹਨ। ਜਦੋਂ ਗਲਤੀ ਡੂੰਘਾਈ ਦੱਸਦੀ ਹੈ, ਤਾਂ ਉਹ ਸੰਖਿਆ ਤਸਦੀਕਕਰਤਾ ਵੱਲੋਂ ਬਣਾਈ ਚੇਨ ਵਿੱਚ ਇੱਕ ਸਥਿਤੀ ਦੀ ਪਛਾਣ ਕਰਦੀ ਹੈ, ਅਤੇ ਜੇ ਸਰਵਰ ਅਣਕਿਆਸੀ ਚੇਨ ਭੇਜਦਾ ਹੈ ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਉਮੀਦ ਕੀਤੇ ਸਥਾਨ ਤੋਂ ਵੱਖ ਹੋ ਸਕਦੀ ਹੈ।
ਉਸ ਡੂੰਘਾਈ ਵਾਲੇ ਸਰਟੀਫਿਕੇਟ ਦੇ ਖੇਤਰ ਪੜ੍ਹੋ, ਦੋਸ਼ੀ ਮੰਨੇ ਸਰਟੀਫਿਕੇਟ ਦੇ ਨਹੀਂ। ਹਰ ਖੇਤਰ ਸੁੱਟਣ ਦੀ ਥਾਂ ਜਾਰੀ ਕਰਨ ਨੂੰ ਸੀਮਿਤ ਕਰਨ ਵਾਲੇ ਦੋ extensions ਮੰਗੋ, ਕਿਉਂਕਿ ਜਵਾਬ ਲਗਭਗ ਹਮੇਸ਼ਾ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਹੁੰਦਾ ਹੈ। extensions ਦਾ ਆਉਟਪੁੱਟ ਸਾਂਝਾ ਕਰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ; ਨਿੱਜੀ ਕੁੰਜੀਆਂ ਕਦੇ ਨਹੀਂ।
openssl x509 -in issuing-ca.pem -noout -subject -issuer -ext basicConstraints -ext extendedKeyUsage
ਜੇ ਨਾਮ ਦਿੱਤਾ ਸਰਟੀਫਿਕੇਟ ਮੱਧਵਰਤੀ ਹੈ ਅਤੇ ਉਸਦੀ ਵਿਸਤ੍ਰਿਤ ਕੁੰਜੀ ਵਰਤੋਂ TLS ਸਰਵਰ ਪ੍ਰਮਾਣਿਕਤਾ ਨਾਲ ਅਸੰਬੰਧਿਤ ਕੁਝ ਦੱਸਦੀ ਹੈ, ਤਾਂ ਬਾਕੀ ਫੇਲ੍ਹ ਯਾਂਤਰਿਕ ਰੂਪ ਵਿੱਚ ਆਉਂਦੀ ਹੈ। OpenVPN ਵੱਲੋਂ ਮੰਗੇ ਉਦੇਸ਼ ਲਈ ਚੇਨ ਵਰਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ।
ਲੀਫ਼ ਦਾ ਉਦੇਸ਼ ਅਤੇ ਚੇਨ ਦੀ ਨੀਤੀ ਦੋ ਟੈਸਟ ਹਨ
ਲੀਫ਼ ਟੈਸਟ ਸੰਕੀਰਣ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ: ਕੀ ਇਹ ਅੰਤਿਮ ਇਕਾਈ ਸਰਟੀਫਿਕੇਟ ਇਸ ਨਾਮ ਲਈ ਸਰਵਰ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ? ਚੇਨ ਟੈਸਟ ਵਧੇਰੇ ਚੌੜਾ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ: ਕੀ ਰਸਤੇ ਦਾ ਹਰ ਸਰਟੀਫਿਕੇਟ ਉਸ ਉਦੇਸ਼ ਦੀ ਸੇਵਾ ਕਰ ਸਕਦਾ ਹੈ? ਸਿਰਫ਼ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਨ ਦੀ ਆਗਿਆ ਵਾਲਾ ਸਰਟੀਫਿਕੇਟ ਅਧਿਕਾਰੀ ਆਪਣੀਆਂ ਦਸਤਖਤ ਜਾਂਚਾਂ ਪਾਸ ਕਰੇਗਾ ਅਤੇ ਫਿਰ ਵੀ ਦੂਜੇ ਟੈਸਟ ਵਿੱਚ ਫੇਲ੍ਹ ਹੋਵੇਗਾ, ਕਿਉਂਕਿ ਜਿਸ ਰਸਤੇ ਨੂੰ ਉਹ ਅਧਿਕਾਰ ਦਿੰਦਾ ਹੈ ਉਸ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋੜੀਂਦਾ ਉਦੇਸ਼ ਸ਼ਾਮਲ ਨਹੀਂ। ਦੋਵੇਂ ਟੈਸਟ ਇੱਕੋ ਸ਼ਬਦਾਂ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਹੱਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰੇ ਹਨ।
ਇਸੇ ਲਈ ਨਵਾਂ ਜਾਰੀ ਕੀਤਾ ਲੀਫ਼, ਹਰ ਦਿਸਦੇ ਖੇਤਰ ਵਿੱਚ ਸਹੀ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਤੁਰੰਤ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ। ਇਸੇ ਲਈ ਹੱਲ ਆਮ ਤੌਰ 'ਤੇ VPN ਸੰਰਚਨਾ ਵਿੱਚ ਨਹੀਂ, ਸਗੋਂ ਜਾਰੀ ਕਰਨ ਵਾਲੇ ਅਧਿਕਾਰੀ ਦੀ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਹੁੰਦਾ ਹੈ।
ਗੈਰਹਾਜ਼ਰ EKU ਪ੍ਰਤਿਬੰਧਕ EKU ਨਹੀਂ ਹੈ
RFC 5280 ਵਿਸਤ੍ਰਿਤ ਕੁੰਜੀ ਵਰਤੋਂ extension ਨੂੰ ਵਿਕਲਪਿਕ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਇਹ ਮੌਜੂਦ ਹੋਵੇ ਤਾਂ ਪ੍ਰਤਿਬੰਧਕ। ਇਸ ਲਈ extension ਤੋਂ ਬਿਨਾਂ CA ਸਰਟੀਫਿਕੇਟ ਨੇ ਸਰਵਰ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ 'ਨਹੀਂ' ਨਹੀਂ ਕਿਹਾ, ਜਦਕਿ ਸਿਰਫ਼ ਅਸੰਬੰਧਿਤ ਉਦੇਸ਼ ਦੀ ਸੂਚੀ ਦੇਣ ਵਾਲੇ ਨੇ ਕੁਝ ਬਹੁਤ ਖਾਸ ਕਿਹਾ ਹੈ। ਇਹਨਾਂ ਦੋ ਹਾਲਤਾਂ ਨੂੰ ਬਰਾਬਰ ਮੰਨਣ ਨਾਲ ਗਲਤ ਨਿਦਾਨ ਅਤੇ, ਇਸ ਤੋਂ ਵੀ ਮਾੜਾ, ਗਲਤ ਹੱਲ ਮਿਲਦਾ ਹੈ। ਇਹ ਫ਼ਰਕ ਇਹ ਵੀ ਸਮਝਾਉਂਦਾ ਹੈ ਕਿ ਕੰਸੋਲ ਵਿੱਚ ਇੱਕੋ ਜਿਹੇ ਦਿਸਦੇ ਦੋ ਅਧਿਕਾਰੀਆਂ ਦਾ ਚੇਨ ਵਿੱਚ ਵਿਵਹਾਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰਾ ਕਿਉਂ ਹੁੰਦਾ ਹੈ।
ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਵਿਵਹਾਰ ਵੀ ਇੱਥੇ ਇਕਸਾਰ ਨਹੀਂ ਹੈ। OpenSSL ਦਾ ਤਸਦੀਕ ਵਿਕਲਪਾਂ ਬਾਰੇ ਦਸਤਾਵੇਜ਼ CA ਸਰਟੀਫਿਕੇਟਾਂ ਉੱਤੇ ਉਦੇਸ਼ ਜਾਂਚਾਂ ਪ੍ਰਤੀ ਆਪਣੀ ਪਹੁੰਚ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਉਹ ਪਹੁੰਚ ਲਾਗੂਕਰਨ ਨੀਤੀ ਹੈ, ਹਰ TLS ਸਟੈਕ ਵੱਲੋਂ ਇਕੋ ਜਿਹਾ ਪਾਲਣ ਕੀਤਾ ਜਾਣ ਵਾਲਾ ਨਿਯਮ ਨਹੀਂ। ਤੁਹਾਡਾ ਤਸਦੀਕਕਰਤਾ ਕੀ ਕਰਦਾ ਹੈ ਦੱਸੋ, ਫਿਰ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਚਲਾਉਂਦੇ ਸੰਸਕਰਣ ਉੱਤੇ ਇਸਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਫੇਲ੍ਹਤਾ ਆਫ਼ਲਾਈਨ ਦੁਹਰਾਓ
ਆਫ਼ਲਾਈਨ ਤਸਦੀਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਮੀਕਰਨ ਵਿੱਚੋਂ ਕੱਢਦੀ ਹੈ। ਜੇ ਚੇਨ ਉਸੇ ਉਦੇਸ਼ ਹੇਠ ਉਸੇ ਤਰ੍ਹਾਂ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਮੱਸਿਆ ਸਰਟੀਫਿਕੇਟ ਵਿੱਚ ਹੈ ਅਤੇ ਕੋਈ ਸਰਵਰ ਸੰਰਚਨਾ ਇਸਨੂੰ ਲੁਕਾ ਨਹੀਂ ਸਕਦੀ। ਜੇ ਚੇਨ ਆਫ਼ਲਾਈਨ ਪਾਸ ਹੁੰਦੀ ਹੈ ਪਰ ਸੇਵਾ ਅਜੇ ਵੀ ਮਨਾਹੀ ਕਰਦੀ ਹੈ, ਤਾਂ ਐਪਲੀਕੇਸ਼ਨ ਕੋਈ ਹੋਰ ਉਦੇਸ਼ ਮੰਗ ਰਹੀ ਹੈ ਜਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਪਰਖੀ ਚੇਨ ਤੋਂ ਵੱਖਰੀ ਚੇਨ ਵਰਤ ਰਹੀ ਹੈ।
openssl verify -purpose sslserver -show_chain -CAfile root-ca.pem -untrusted issuing-ca.pem vpn-server.pem
-show_chain ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਾਧਨ ਵੱਲੋਂ ਬਣਾਇਆ ਰਸਤਾ ਛਾਪਦਾ ਹੈ, ਅਤੇ ਉਹ ਅਕਸਰ ਤੁਹਾਡੇ ਦਿੱਤੇ ਫਾਈਲ ਕ੍ਰਮ ਤੋਂ ਵੱਖ ਹੁੰਦਾ ਹੈ। ਉਹ ਆਉਟਪੁੱਟ ਦੂਜਾ ਮੱਧਵਰਤੀ ਸਰਟੀਫਿਕੇਟ ਟਰੱਸਟ ਸਟੋਰ ਤੋਂ ਖਿੱਚਿਆ ਜਾ ਰਿਹਾ ਹੈ, ਸਰਵਰ ਤੁਹਾਡੇ ਇਰਾਦੇ ਤੋਂ ਬਿਨਾਂ ਕ੍ਰਾਸ-ਸਾਈਨਡ ਸੰਸਕਰਣ ਭੇਜ ਰਿਹਾ ਹੈ, ਜਾਂ ਟਿਊਟੋਰਿਅਲ ਤੋਂ ਕਾਪੀ ਕੀਤਾ ਉਦੇਸ਼ ਫਲੈਗ ਸੇਵਾ ਦਿੱਤੀ ਜਾ ਰਹੀ ਭੂਮਿਕਾ ਤੋਂ ਵੱਖਰੀ ਭੂਮਿਕਾ ਦਾ ਹੈ, ਇਹ ਪਤਾ ਲਗਾਉਣ ਦਾ ਸਭ ਤੋਂ ਤੇਜ਼ ਤਰੀਕਾ ਹੈ।
ਜਾਰੀ ਕਰਨ ਦੀ ਨੀਤੀ ਸੁਧਾਰੋ, ਤਸਦੀਕ ਕਾਲ ਨਹੀਂ
ਟਿਕਾਊ ਹੱਲ ਉਹ ਮੱਧਵਰਤੀ ਸਰਟੀਫਿਕੇਟ ਹੈ ਜੋ ਸੇਵਾ ਕਰਨ ਵਾਲੇ ਉਦੇਸ਼ਾਂ ਦੀ ਆਗਿਆ ਦੇਣ ਵਾਲੀ ਨੀਤੀ ਹੇਠ ਜਾਰੀ ਹੋਇਆ ਹੋਵੇ, ਅਤੇ ਸੀਮਾ ਲਿਖੀ ਅਤੇ ਸਮੀਖਿਆ ਕੀਤੀ ਹੋਈ ਹੋਵੇ। ਹਰ ਅਧਿਕਾਰੀ ਵਿੱਚ ਹਰ ਉਦੇਸ਼ ਜੋੜਨਾ ਨੀਤੀ ਨਹੀਂ ਹੈ; ਇਹ ਉਸ ਸੀਮਾ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ ਜਿਸਨੇ extension ਨੂੰ ਅਰਥ ਦਿੱਤਾ ਸੀ, ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਉਸ ਘਟਨਾ ਤੋਂ ਵੱਧ ਚਿਰ ਰਹਿੰਦਾ ਹੈ ਜਿਸਨੇ ਇਸਨੂੰ ਜਨਮ ਦਿੱਤਾ। ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਇੱਕ ਛੋਟੀ ਨੋਟ ਜੋ ਦੱਸਦੀ ਹੈ ਕਿ ਅਧਿਕਾਰੀ ਕਿਹੜੀਆਂ ਭੂਮਿਕਾਵਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਅਗਲੀ ਮੁੜ-ਜਾਰੀ ਨੂੰ ਉਹੀ ਬਹਿਸ ਦੁਹਰਾਉਣ ਤੋਂ ਰੋਕਦੀ ਹੈ।
ਤਸਦੀਕ ਬੰਦ ਕਰਨਾ ਦੂਜਾ ਲੁਭਾਉਣਾ ਸ਼ਾਰਟਕਟ ਹੈ, ਅਤੇ ਇਹ ਸਰਟੀਫਿਕੇਟ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਭਰੋਸੇ ਦੀ ਸਮੱਸਿਆ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਉਦੇਸ਼ ਜਾਂਚ ਨੂੰ ਉਥੇ ਹੀ ਰੱਖੋ, ਚੇਨ ਸੁਧਾਰੋ ਅਤੇ ਉਹੀ ਆਫ਼ਲਾਈਨ ਤਸਦੀਕ ਦੁਬਾਰਾ ਚਲਾਓ ਤਾਂ ਜੋ ਪੁਸ਼ਟੀ ਹੋਵੇ ਕਿ ਰਸਤਾ ਹੁਣ ਲੋੜੀਂਦੀ ਭੂਮਿਕਾ ਦੀ ਸੇਵਾ ਕਰਦਾ ਹੈ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਸੇਵਾ ਨੂੰ ਦੁਬਾਰਾ ਛੂਹੋ।