- 追加された行はこの色です。
- 削除された行はこの色です。
* ファイル暗号化/復号化(OpenSSL,GPG) [#p968e5a4]
''◆OPENSSLによるファイル暗号化''
# 秘密鍵の作成 (privkey.pem)
openssl genrsa -des3 -out privkey.pem~
# 電子証明要求書の作成 (csr.pem)
openssl req -new -key privkey.pem -out csr.pem~
# 電子証明書の作成 (csr.pem -> cert.pem : 自己証明書)
openssl req -x509 -in csr.pem -key privkey.pem -out cert.pem
# opensslのsmimeコマンドを使用して暗号化
openssl smime -encrypt -aes256 -in test.txt -out test.crypt cert.pem
# opensslのsmimeコマンドを使用して複号化
openssl smime -decrypt -aes256 -in test.cryp -out test.txt -inkey privkey.pem -recip cert.pem
※以下、別のやり方 (なんかエラー(サイズ制限?)になってダメ?)
# CAで電子証明書を作成する場合 (csr.pem -> cert.pem)
openssl x509 -req -in csr.pem -out cert.pem -CA cacert.pem -CAkey caprivkey.pem -CAcreateserial
# 電子証明書(公開鍵)を使っての暗号化 (plain.txt -> encrypt.txt by cert.pem)
openssl rsautl -encrypt -in plain.txt -inkey cert.pem -certin -out encrypt.txt
openssl rsautl -encrypt -in mizunodb.tgz -inkey cert.pem -certin -out mizunodb.tgz.crypt
# 暗号の復号 (plain.txt -> encrypt.txt by privkey.pem)
openssl rsautl -decrypt -in encrypt.txt -inkey privkey.pem -out plain.txt
&br;
''◆GPG((大抵のLinuxディストリビューションに収録されてる暗号化ソフト。PGPのオープンソース版。))(GNU Privacy Guard)によるファイル暗号化''
----設定 ---------------------------------------
# 公開鍵,秘密鍵の作成(受信側PC)
gpg --gen-key
# 公開鍵をファイルに出力(受信側PC)
gpg -o 公開鍵ファイル名 --export 鍵ID
# 公開鍵を送信側PCに転送
sftp 送信側ホスト
sftp> put 公開鍵ファイル名
# 公開鍵を取り込み(送信側PC)
gpg --import 公開鍵ファイル名
# インポートされたか確認(送信側PC)
gpg --list-keys
# 公開鍵に署名(送信側PC)
gpg --sign-key 鍵ID
-------------------------------------------
---- 暗号化,バックアップ ----
# 公開鍵を使用して暗号化(送信側PC) ※ファイル名.gpgというファイルができる
gpg -r 鍵ID -e 暗号化するファイル名
# 暗号化したファイルを転送(送信側PC)
sftp 受信側ホスト
sftp> put 暗号化ファイル名
# ファイルの複号化(受信側PC)
gpg 暗号化ファイル名
※パスフレーズを聞かれるので入力
---- 以下は鍵作成時に表示されたもの ----
すきな鍵の種類を選択してください:
(1) DSAとElGamal (既定)
(2) DSA (署名のみ)
(5) RSA (署名のみ)
どれにしますか? 5
どの鍵長にしますか? (1024) 1024
要求された鍵長は1024ビット
鍵の期限を決めてください。
0 = 無期限
= 有効期限 n 日間
w = 有効期限 n 週間
m = 有効期限 n か月間
y = 有効期限 n 年間
鍵の有効期間は? (0)
Keyは無期限です
これでいいですか (y/n)? y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) "
本名: daisuke
電子メール・アドレス: daisuke@magata.net
コメント: testkey
次のユーザーIDを設定しました:
"daisuke (testkey) "
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O
秘密鍵を保護するためにパスフレーズがいります。
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。
.+++++
+++++
公開鍵と秘密鍵を作り、署名しました。
絶対的に信用した鍵として記録しました。
pub 1024R/16CDA742 2005-04-16 daisuke (testkey)
指紋 = 9F8C E10D 0711 A18B 0D7D 21AB 95BE 1850 16CD A742
この鍵は暗号化には使用できないことに注意してください。暗号化を行うには、
「--edit-key」コマンドを用いて副鍵を生成してください。
--list-sigs 鍵と署名の一覧
--check-sigs 鍵の署名を検証
--fingerprint 鍵と指紋の一覧
--list-secret-keys 秘密鍵の一覧
gpg --delete-keys 1024R
gpg --delete-keys
gpg --delete-secret-keys 16CDA742