複数ファイルをまとめて署名・暗号化する
最近の GnuPG には gpgtar コマンドが付いていて,これは Windows 版でも使える。
$ gpgtar -h
gpgtar (GnuPG) 2.2.7
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Syntax: gpgtar [options] [files] [directories]
Encrypt or sign files into an archive
コマンド:
--create create an archive
--extract extract an archive
-e, --encrypt create an encrypted archive
-d, --decrypt extract an encrypted archive
-s, --sign create a signed archive
-t, --list-archive list an archive
オプション:
-c, --symmetric use symmetric encryption
-r, --recipient USER-ID
USER-ID用に暗号化
-u, --local-user USER-ID
署名や復号にこのUSER-IDを使用
-o, --output FILE 出力をFILEに書き出す
-v, --verbose 冗長
-q, --quiet いくらかおとなしく
--skip-crypto skip the crypto processing
--dry-run 無変更
Tar options:
-C, --directory DIRECTORY
extract files into DIRECTORY
-T, --files-from FILE
get names to create from FILE
--null -T reads null-terminated names
バグは <https://bugs.gnupg.org> までご報告ください。
gpgtar は複数のファイルや指定したフォルダをまとめて暗号化する場合には便利なコマンドである。
たとえば,フォルダ my-folder
以下の全てのフォルダ・ファイルをまとめて暗号化するには
$ gpgtar -es -r Alice -u Bob -o hoge my-folder
などとすればよい。
ここで Alice
は暗号用の鍵を示すユーザ ID, Bob
は署名用の鍵を示すユーザ ID とする。
出力先の書庫ファイル名には hoge
を指定している。
書庫ファイル hoge
の中身を見たいなら
$ gpgtar -t hoge
とすればよい。 更に書庫ファイルを復号・展開するには
$ gpgtar -d -C . hoge
とする。
-C
オプションで出力先のフォルダ(存在しない場合はエラーになる)を指定している。
-C
オプションがないとカレント・フォルダに勝手にフォルダを掘って展開してしまうのでご注意を。
gpgtar による暗号化手順は以下の通り。
署名を行わない場合は署名処理はスキップされる。
圧縮処理は GnuPG の機能を使って行われる。 GnuPG で利用可能な圧縮形式は以下の通り。
ちなみに先程の hoge
ファイルを
$ gpg -d -o hoge.tar hoge
とすれば tar 形式のファイル hoge.tar
が出力される。
暗号化したデータの復号パスワードをメールで送るなどというアホなことをやらかすのは日本独自の慣習らしいが,このような悪習が一刻も早く根絶されることを願う。