ਇੱਕ ਜਾਰੀ ਕਰਨ ਦਾ ਰਨ ਇੱਥੇ ਰੁਕਦਾ ਹੈ: entry 22: invalid expiry date, ਪਰ ਤੁਹਾਡੇ ਸਾਹਮਣੇ ਰੱਖੀ ਬੇਨਤੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਠੀਕ ਹੈ। ਸ਼ਿਕਾਇਤ CA ਡੇਟਾਬੇਸ ਦੇ ਪਾਰਸਰ ਤੋਂ ਆਉਂਦੀ ਹੈ, CSR ਤੋਂ ਨਹੀਂ ਅਤੇ ਉਸ VPN ਕਲਾਇੰਟ ਤੋਂ ਵੀ ਨਹੀਂ ਜੋ ਅੰਤ ਵਿੱਚ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਕਰੇਗਾ। ਇਹੋ ਫ਼ਰਕ ਅੱਗੇ ਦਾ ਸਭ ਕੁਝ ਤੈਅ ਕਰਦਾ ਹੈ: ਰਿਕਾਰਡ ਵਿਗੜਿਆ ਹੋਇਆ ਹੈ, ਇਸ ਲਈ ਮੁਰੰਮਤ CA ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਹੈ, ਬੇਨਤੀ ਜਾਂ ਪੀਅਰ ਕਨਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਨਹੀਂ। ਨੰਬਰ ਵਾਲੀ ਐਂਟਰੀ ਨੂੰ index.txt ਵਿੱਚ ਇੱਕ ਲਾਈਨ ਸਮਝੋ, ਅਤੇ ਸਮੱਸਿਆ ਜਾਂਚਯੋਗ ਜਵਾਬ ਵਾਲੇ ਸੀਮਤ ਡੇਟਾ ਸਵਾਲ ਤੱਕ ਸਿਮਟ ਜਾਂਦੀ ਹੈ।

ਗਲਤੀ ਨੂੰ ਡੇਟਾਬੇਸ ਦੀ ਸ਼ਿਕਾਇਤ ਵਜੋਂ ਪੜ੍ਹੋ

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

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

ਕੁਝ ਵੀ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ CA ਦੀ ਸਥਿਤੀ ਦੀ ਨਕਲ ਕਰੋ

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

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

ਐਂਟਰੀ ਲੱਭੋ ਅਤੇ ਉਸਦਾ ਤਾਰੀਖ ਖੇਤਰ ਡੀਕੋਡ ਕਰੋ

ਦੱਸਿਆ ਗਿਆ ਲਾਈਨ ਨੰਬਰ ਪਹਿਲੇ ਰਿਕਾਰਡ ਤੋਂ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ sed -n '22p' index.txt ਉਸਦੇ ਉੱਤੇ ਖਾਲੀ ਜਾਂ ਟਿੱਪਣੀ ਲਾਈਨਾਂ ਨਾ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਮੱਸਿਆ ਵਾਲੀ ਐਂਟਰੀ ਉੱਤੇ ਪੈਂਦੀ ਹੈ। ਉਹ ਲਾਈਨ ਦਿਖਣ ਵਾਲੇ ਵਿਭਾਜਕਾਂ ਨਾਲ ਛਾਪੋ, ਕਿਉਂਕਿ ਟੈਬ ਅਤੇ ਅੰਤ ਵਿੱਚ ਆਉਣ ਵਾਲੇ ਖਾਲੀ ਸਥਾਨ ਆਮ ਹਨ ਅਤੇ ਆਮ ਐਡੀਟਰ ਵਿੰਡੋ ਵਿੱਚ ਅਦਿੱਖ ਰਹਿੰਦੇ ਹਨ।

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

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

ਹਸਤਾਖਰਿਤ ਸਰਟੀਫਿਕੇਟ ਦੇ ਆਧਾਰ ਉੱਤੇ ਰਿਕਾਰਡ ਦੀ ਮੁਰੰਮਤ ਕਰੋ

ਅਸਲ ਤਾਰੀਖਾਂ ਇਸ ਨਾਲ ਪੜ੍ਹੋ: openssl x509 -in issued.pem -noout -dates -serial -subject। notAfter ਨੂੰ ਤੁਹਾਡੇ ਬਿਲਡ ਵੱਲੋਂ ਉਸ ਸਾਲ ਲਈ ਲਿਖੀ ਜਾਣ ਵਾਲੀ ਟਾਈਮਸਟੈਂਪ ਚੌੜਾਈ ਵਿੱਚ ਬਦਲੋ, ਅਤੇ ਇੱਕ ਵੀ ਅੱਖਰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਕ੍ਰਮ ਨੰਬਰ ਉਸ ਐਂਟਰੀ ਨਾਲ ਮਿਲਦਾ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਸੋਧਣ ਜਾ ਰਹੇ ਹੋ।

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

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

ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਜਾਰੀ ਕਰਨਾ ਅਤੇ CRL ਬਣਾਉਣਾ ਜਾਂਚੋ

ਉਸੇ ਕਨਫਿਗਰੇਸ਼ਨ ਨਾਲ ਇੱਕ ਜਾਰੀ ਕਰਨਾ ਚਲਾਓ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇਹ ਲਾਈਨ ਨੰਬਰ ਦੀ ਸ਼ਿਕਾਇਤ ਬਿਨਾਂ ਪੂਰਾ ਹੁੰਦਾ ਹੈ। ਫਿਰ openssl ca -gencrl -config openssl.cnf ਨਾਲ CRL ਬਣਾਓ ਅਤੇ ਜਾਂਚੋ ਕਿ ਇਹ ਪਾਰਸ ਹੁੰਦੀ ਹੈ, ਕਿਉਂਕਿ ਖਰਾਬ ਰਿਕਾਰਡ ਅਕਸਰ ਹਸਤਾਖਰ ਵੇਲੇ ਨਹੀਂ, ਸਗੋਂ ਉੱਥੇ ਹੀ ਸਾਹਮਣੇ ਆਉਂਦਾ ਹੈ।

ਨਵਾਂ ਸਰਟੀਫਿਕੇਟ ਇਸ ਨਾਲ ਜਾਂਚੋ: openssl x509 -noout -dates -serial ਅਤੇ CA ਵੱਲੋਂ ਹੁਣੇ ਲਿਖੀ ਲਾਈਨ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸਥਿਤੀ ਅੱਖਰ ਅਤੇ ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਤਾਰੀਖ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਮਿਲਦੀ ਹੈ, ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ openssl verify -CAfile ca.pem issued.pem ਬਿਨਾਂ ਗਲਤੀ ਦੇ ਵਾਪਸ ਆਉਂਦਾ ਹੈ। ਫਿਰ ਤੈਅ ਜਾਰੀ ਕਰਨਾ ਬਹਾਲ ਕਰੋ ਅਤੇ ਪਹਿਲੇ ਰਨ ਉੱਤੇ ਨਜ਼ਰ ਰੱਖੋ, ਕਿਉਂਕਿ ਦੂਜੀ ਵਿਗੜੀ ਲਾਈਨ ਤੁਰੰਤ ਆਪਣੀ ਘੋਸ਼ਣਾ ਕਰ ਦੇਵੇਗੀ।

ਸੰਬੰਧਿਤ ਲੇਖ