У меня есть сценарий SH на сервере Ubuntu 16, который я запускаю, чтобы получить конечную дату сертификата:
openssl pkcs12 -in cert.p12 -clcerts -nodes -passin file:passwordfile | openssl x509 -noout -enddate
Он хорошо работает для нескольких сертификатов, но не работает только для одного. Я проверяю права доступа к файлам для всех сертификатов, и все они имеют одинаковые разрешения. Пароль в файле тоже правильный. Если скрипт вызывается crontab, он не возвращает дату. Если я запускаю в командной строке, все работает как положено. Я создаю файл node JS, чтобы сделать то же самое, и он также работает для всех сертификатов, кроме одного и того же, и снова он работает в командной строке.
Пароль для файла имеет символы ударения. Он работает с командной строкой, но не запускается из crontab. Может ли это быть причиной?
Я использую: OpenSSL 1.1.1e 17 марта 2020 года Ubuntu 16.04.6 LTS
И согласно https://www.openssl.org/docs/man1.1.1/man7/passphrase-encoding.html он принимает UTF8 . Есть идеи, почему это не работает только для определенного сертификата c? Спасибо.
ОБНОВЛЕНИЕ: я обновляю OpenSSL до 1.1.1g, но проблема остается. Я тестирую Ubuntu 20.04, и проблемы не возникает.