에러해결

[Travis-CI] travis encrypt-file 사용시 발생하는 wrong final block length 에러 해결

jhkimmm 2022. 6. 11. 03:18

문제상황

계정 정보나 비밀키 정보를 담고 있는 파일을 .travis.yml에 넣기 위해 travis encrypt-file을 사용합니다.

travis encrypt-file --pro <파일명> --add

윈도우 환경에서 위 명령어로 정상적으로 암호화를 진행했음에도 불구하고 빌드하는 과정에서 아래와 같은

"digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:evp_enc.c" 에러가 발생하는 경우가 있습니다.

이는 Travis CLI를 사용해 암호화를 진행했을 때 발생하는 에러로, 리눅스에서는 문제 없는데 윈도우에서만 발생한다고 합니다.

 

해결방법

Linux VM에서 작업 진행하는 방법으로 해결할 수 도 있지만, 제 2의 해결책이 존재합니다.

travis encrypt-file --pro <파일명> --add -p

동일한 암호화 명령어에 -p 옵션을 추가하면 Key와 iv값을 얻을 수 있습니다. 이걸 잘 복사해 둡니다.

 

travis encrypt 명령어로 생성된 .enc 파일을 삭제하고, 

복사해둔 Key와 iv값과 openssl 명령어를 통해서 직접 암호화된 파일을 생성합니다.

openssl enc -aes-256-cbc -in <파일명> -out <파일명>.enc -K (PASTED_KEY)  -iv (PASTED_iv)

이후에 git push를 통해 빌드를 진행하면 정상적으로 복호화를 진행 후 빌드되는 것을 확인할 수 있습니다.

 

 

+참고

 

Windows Decryption Issue Workaround (for issue #4746) · Issue #8777 · travis-ci/travis-ci

For issue #4746 for anyone on Windows getting the bad decrypt: wrong final block length error Just wanted to share a workaround I found and I was able to get travis to decrypt with no issues. I fir...

github.com