Задание GitLab завершается неудачно из-за ошибки «плохой расшифровки» OpenSSL, но команда выполняется нормально локально? - PullRequest
0 голосов
/ 29 апреля 2019

При наличии конвейера со стадией, выполняющей сценарий, который должен расшифровать файл ключа, GitLab Runner завершается ошибкой:

$ scripts/decrypt.sh $LWCMAP_SERVER_KEY
bad decrypt
139810674749504:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:536:
ERROR: Job failed: exit code 1

$LWCMAP_SERVER_KEY содержит фразу-пароль, которая используется для расшифровки ключа в папке, используя следующую команду в .gitlab-ci.yml:

- scripts/decrypt.sh $LWCMAP_SERVER_KEY

А содержимое сценария оболочки - это просто команда OpenSSL для расшифровки файла:

openssl aes-256-cbc -k $1 -in assets/server.key.enc -out assets/decripted_server.key -d

Интересно, почему задание завершается неудачно с «плохой расшифровкой», поскольку точно такая же команда выполняется локально очень хорошо. Я даже вычислил md5 как файла, так и ключа, используемого при расшифровке, и они точно такие же для бегуна и локально (что означает, что это не поврежденные данные).

Есть идеи?

Edit:

Локально openssl version выводит "LibreSSL 2.8.3", и на сервере я обновил его до той же версии. Тем не менее, на контейнере Runner выводится «OpenSSL 1.1.0j 20 Nov 2018».

...