Eu tenho um repositório do git criptografado com openssl
. Eu movi o repositório para um novo host. O host original estava usando:
» openssl version
OpenSSL 1.0.2g 1 Mar 2016
O host atual está usando:
» openssl version
OpenSSL 1.1.0g 2 Nov 2017
Estes são meus filtros para o git
repo:
[filter "openssl"]
smudge = ~/.gitencrypt/SALT-20131126-01/smudge_filter_openssl
clean = ~/.gitencrypt/SALT-20131126-01/clean_filter_openssl
[diff "openssl"]
textconv = ~/.gitencrypt/SALT-20131126-01/diff_filter_openssl
O filtro de codificação:
» cat ~/.gitencrypt/SALT-20131126-01/clean_filter_openssl
#!/bin/bash
# 24 or less hex characters
SALT_FIXED=mysalt
PASS_FIXED=mypass
openssl enc -base64 -aes-256-ecb -S $SALT_FIXED -k $PASS_FIXED
O filtro de decodificação:
» cat ~/.gitencrypt/SALT-20131126-01/diff_filter_openssl
#!/bin/bash
# No salt is needed for decryption.
PASS_FIXED=mypass
# Error messages are redirect to /dev/null.
openssl enc -d -base64 -aes-256-ecb -k $PASS_FIXED -in "$1" 2> /dev/null || cat "$1"
Eu li que há alterações em relação ao hash padrão usado pelo OpenSSL. Eu tentei forçar o velho hash:
» git show HEAD~1:myfile > /tmp/xxx
» openssl enc -d -md md5 -base64 -aes-256-ecb -k mypass -in /tmp/xxx
Mas ainda me causa problemas:
error reading input file
O que mais eu poderia tentar?