blog.monophile.net

コンピュータのこととかのメモ。

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS] においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

work

各種システム構築と管理を承ります。

Cloud PlatformOpenstack, GCP, AWS, Azure, ...
Openstackkeystone, glance, cinder, swift, neutron, nova, ...
VirtualizationQEMU+KVM, LXD/LXC, Docker, ...
OSDebian GNU/Linux, Ubuntu, CentOS, ...
NetworksIPSec, L2TP, VXLAN, WirelessAP, ...
WebAppsWordPress, GitLab, Redmine, ...
Configuration ManagementAnsible, Terraform, ...
MonitoringNagios, Munin, ...

posts

概要

電子署名をGnuPGによって施します。

準備

install

ubuntuでGnuPGを使うためには以下のコマンドを打つ。

$ sudo apt-get install gnupg

公開鍵暗号の生成

使う前に自分の公開鍵暗号を作る必要がある。 以下のコマンドを打つと$HOME/.gnupg/に公開鍵pubring.gpgと秘密鍵secring.gpgとかその他諸々できる。 ちょっと時間かかります。1分くらい?

$ gpg --gen-key

自分の公開鍵暗号のasciiファイルの出力の仕方は以下のコマンドで。

$ gpg --armor --export my.mail@address.com > mygpg.pub

鍵のインポート

自分が他人が署名したファイルの妥当性を確認するためにその人の公開鍵を使用するので .gnupg/trustdbに登録する必要がある。

$ gpg --import someone.pub

show fingerprint

$ gpg --fingerprint

署名

sample.txtに署名するならば、以下のコマンドを打つ。

$ gpg -s sample.txt

この場合は出力ファイルがsample.txt.gpgというバイナリになるのだが、 以下のコマンドでは平文とhashがテキストsample.txt.ascで保存される。

$ gpg --clearsign sample.txt

妥当性の確認

上記で署名したファイルの妥当性の確認は以下のコマンドで行う。

$ gpg --verify sample.txt.gpg

暗号化/復号化

暗号化を公開鍵、復号化を秘密鍵で行うことによって、秘匿な通信を行うことができます。

暗号化

登録されているmail@someone.netの公開鍵を用いてsample.txtを暗号化します。

$ gpg -r mail@someone.net --encrypt sample.txt

ちなみにgpgはここで圧縮も行うらしいです。以下のようにして圧縮を無効にできるそうです。

$ gpg -r mail@someone.net --compress-level 0 --encrypt sample.txt

これで暗号化されたsample.txt.gpgが作成されます。

復号化

someoneは上記で作成されたsample.txt.gpgを秘密鍵で復号化します。

$ gpg -d sample.txt.gpg

参考URL