OpenSSLにてファイルを暗号化する

ファイルをOpenSSLで暗号化する

ファイルを暗号化

aes256でtxtファイルを暗号化します。
コマンドを打ったあとに復元用のパスワードを入れる必要があります。


$ openssl aes-256-cbc -e -in hogehoge.txt -out hogehoge.txt.crypt
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

ファイルを復元


$ openssl aes-256-cbc -d -in hogehoge.txt.crypt -out original.txt

公開鍵によるファイル暗号化

上記の直接暗号化ではなく公開鍵による暗号化もできます。
公開鍵を利用する場合の流れ

  • 秘密鍵を作成
  • 秘密鍵から公開鍵作成
  • 公開鍵にしてファイルを暗号化
  • 秘密鍵からファイルを復元

opensslで秘密鍵を生成する


$ openssl genrsa -aes256 -out private_ssl_key.pem 2048
Generating RSA private key, 2048 bit long modulus
..................................+++
..........................................................................................+++
e is 65537 (0x10001)
Enter pass phrase for private_ssl_key.pem:
Verifying - Enter pass phrase for private_ssl_key.pem:

秘密鍵から公開鍵を生成


$ oepnssl rsa -pubout -in private_ssl_key.pem -out public.pem
Enter pass phrase for private_ssl_key.pem:
writing RSA key

公開鍵にてファイルを暗号化


$ openssl rsautl -encrypt -pubin -inkey public.pem -in target_file.csv -out target_file.csv.crypt

秘密鍵にて復号


$ openssl rsautl -decrypt -inkey private_ssl_key.pem -in target_file.csv.crypt > target_file.csv
Enter pass phrase for private_ssl_key.pem: