Open voiceactivity opened 6 years ago
Just finished another test in reversed order:
We are experiencing the same issue now in our team, MAC encrypt can't be decrypted on Windows 10 (neither Win10 native sls not Win10 subsystem linux (Ubuntu)).
I did a "quick-fix" as I can't figure out where the inconsistency comes from... I couldn't open a Pull Request, so here we go:
package.js
: + line 37: "stream-replace": "^1.0.0"
index.js
:
- line 7:
const replace = require('stream-replace');
line 92:.pipe(crypto.createDecipher(algorithm, this.options.password).setAutoPadding(false))
- line 94:
.pipe(replace(/\4/g, ''))
- line 95:
.on('error', reject)
I've added stream-replace
to the project and setting .setAutoPadding(false)
in decrypt()
function.
As there still is an issue with four EOT
characters (char hex: 04) appearing as the last four characters in the decrypted data I replace them with empty string.
How to reproduce:
Execute on OSX: sls encrypt -s stag --password 'xxx'
Commit to git secrets.prod.yml.encrypted.
Make git pull of the same file on Win10.
Execute on Win10: sls decrypt -s stag --password 'xxx'
Error: Error -------------------------------------------------- error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable. Get Support -------------------------------------------- Docs: docs.serverless.com Bugs: github.com/serverless/serverless/issues Issues: forum.serverless.com Your Environment Information ----------------------------- OS: win32 Node Version: 8.9.1 Serverless Version: 1.28.0
File unreadable. Note: the passwords used are correct. I double checked and the encrypt|decrypt still work on my Mac (where I initially encrypted files).