Posted at

OpenSSLでファイルの暗号化・複合化するための備忘録

More than 1 year has passed since last update.


はじめに

opensslコマンドは以下の3つの分類されています。

Cipher commandを使ってファイルの暗号化・複合化をやります。


  • Standard commands

  • Message Digest commands

  • Cipher command


基本的な使い方

encサブコマンドを使って暗号化・複合化します。

入力ファイルを暗号化・複合化し出力ファイルに出したいケースが多いと思いますが、その場合はそれぞれ-in,-outにファイルパスを渡してあげます。

暗号化の場合、-eを複合化の場合は-dをつけます。

// 暗号化

$ openssl enc -e <CipherType> -in <InputFile> -out <OutputFile>
// 複合化
$ openssl enc -d <CipherType> -in <InputFile> -out <OutputFile>

また、CipherType(aes-256-cbcなど)を以下のようにサブコマンドの位置に書いても暗号化・複合化してくれるみたいです。

$ openssl aes-256-cbc -e -in <InputFile> -out <OutputFile>

$ openssl aes-256-cbc -d -in <InputFile> -out <OutputFile>


パスワードの指定方法

タイプ

stdin
標準入力から指定

pass
コマンドラインで指定

file
ファイルから指定

env
環境変数から指定

fd
ファイルディスクリプタから指定


  • コマンドラインからパスワードを指定する場合

$ openssl aes-256-cbc -e -in in_sample.txt -out out_sample.txt -pass pass:hoge


  • ファイルからパスワードを指定する場合

$ openssl aes-256-cbc -e -in in_sample.txt -out out_sample.txt -pass file:./password.txt


参考

http://qiita.com/takuyaWt/items/300cbb0570814b521732

http://takuya-1st.hatenablog.jp/entry/2015/12/09/174928