古いopensslデータの復号化

古いopensslデータの復号化

動作するものがありますopenssl。リポジトリを新しいホストに移動しました。元のホストは以下を使用しています。

» openssl version
OpenSSL 1.0.2g 1 Mar 2016

現在、ホストは以下を使用しています。

» openssl version
OpenSSL 1.1.0g  2 Nov 2017

gitリポジトリのフィルタは次のとおりです。

[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

エンコーディングフィルタ:

» 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

デコードフィルタ:

» 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"

読むOpenSSLで使用されるデフォルトのハッシュが変更されました。私は以前のハッシュを強制しようとしました。

» git show HEAD~1:myfile > /tmp/xxx
» openssl enc -d -md md5 -base64 -aes-256-ecb -k mypass -in /tmp/xxx 

しかし、まだ問題が発生します。

error reading input file

また何を試すことができますか?

ベストアンサー1

おすすめ記事