Security/gpg
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#contents]
#contents();
/////////////////////////////////////////////////////////...
* GnuPG [#gnupg]
//=======================================================...
** 鍵の生成 [#create-key]
$ gpg --gen-key
gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択は? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n> = 鍵は n 日間で満了
<n>w = 鍵は n 週間で満了
<n>m = 鍵は n か月間で満了
<n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)0
Key does not expire at all
これで正しいですか? (y/N) y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf...
本名: (名前を入力)
電子メール・アドレス: (メールアドレスを入力)
コメント:
次のユーザーIDを選択しました:
“名前 <メールアドレス>”
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か...
秘密鍵を保護するためにパスフレーズがいります。
パスフレーズを入力:
パスフレーズを再入力:
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
(他の作業をする)
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと172バイトいります)
(更に他の作業をする)
dsa.....+++++
.........+++++
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと71バイトいります)
(更に他の作業をする)
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと119バイトいります)
(更に他の作業をする)
dsa...+++++
gpg: 鍵***を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。
gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、P...
gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, ...
(以下生成結果・略)
$
//=======================================================...
** 秘密鍵 [#secret-key]
- 秘密鍵のexport
$ gpg -o sec.key -a --export-secret-key user@example.com
-- "-a" オプションを付けるとASCII、なければバイナリで出力...
- 秘密鍵のimport
$ gpg --import --allow-secret-key-import sec.key
- 秘密鍵の削除
$ gpg --delete-secret-keys user@example.com
-- 秘密鍵は、公開鍵に先んじて削除しておく必要がある
- 鍵束(キーのリスト)の表示
$ gpg --list-secret-key
//=======================================================...
** 公開鍵 [#public-key]
- 公開鍵の export
$ gpg -o pub.key -a --export user@example.com
-- "-a" オプションを付けるとASCII、なければバイナリで出力...
- 公開鍵の import
$ gpg --import pub.key
- 公開鍵の削除
$ gpg --delete-key user@example.com
-- 秘密鍵は、公開鍵に先んじて削除しておく必要がある
- 鍵束(キーのリスト)の表示
$ gpg --list-keys
//=======================================================...
** 公開鍵の失効証明書 [#revoke-key]
- パスフレーズを忘れた・漏洩したという場合に備えて、失効...
- 失効証明書の発行
$ gpg -o user.revoke --gen-revoke user@example.com
-- -o で指定したファイル名(上記例では user.revoke)にテ...
-- 途中で幾つか質問に答える場面がある。
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“user@example.com"
と訊かれたら、パスフレーズを入力する。ここでは失効証明書...
-- 生成した失効証明書は、他人に見られる心配のないところに...
- 失効証明書を使った鍵の無効化
$ gpg --import <失効証明書ファイル名>
- キーサーバに UP している場合は、それも失効させる必要が...
//=======================================================...
** 暗号化と復号 [#crypt-decrypt]
- ファイルを暗号化するには、渡す相手の公開鍵を先に入手し...
- receive-user@example.com のユーザに渡す target-file を...
$ gpg -a -r receive-user@example.com -e target-file
- 自分(user@example.com)の公開鍵を使って暗号化されたフ...
$ gpg -d encrypted-file
//=======================================================...
** 署名と検証 [#vaf4bf27]
- 自分(user@example.com)の秘密鍵で、clearsign-file に署...
$ gpg -u user@example.com --clearsign target-file
-- 署名されたファイルが、元のファイル名.asc というファイ...
- 受け取った人(receive-user@example.com)が、送り主(use...
$ gpg -d target-file.asc
//=======================================================...
** ファイルの暗号化 [#ra90a887]
- <file> を <user_id> の鍵で暗号化する場合は
$ gpg -e -r <user_id> <file>
-- <user_id> は、例えば<file>をあとで人に渡す場合は、相手...
//=======================================================...
** 信用度の設定 [#trust]
- 公開鍵を取り込んでも、そのままでは「信頼されていない」...
- 信用度には、1(知らない)から5(絶対的に信用する)の5段...
- 設定
$ gpg --edit-key <key-ID>
(指定したキーの現在の状態などが表示される)
gpg> trust
(キーの情報を表示)
他のユーザーの鍵を正しく検証するために、このユーザーの信...
(パスポートを見せてもらったり、他から得た指紋を検査した...
1 = 知らない、または何とも言えない
2 = 信用し ない
3 = ある程度信用する
4 = 完全に信用する
5 = 絶対的に信用する
m = メーン・メニューに戻る
あなたの決定は? 5 # <= 5を選択
本当にこの鍵を絶対的に信用しますか? (y/N) y
(キーの情報を表示)
プログラムを再起動するまで、表示された鍵の有効性は正しく...
ということを念頭においてください。
gpg> save
/////////////////////////////////////////////////////////...
* 副鍵の更新 [#a6ae3866]
+ gpg --edit-key を実行する
$ gpg --edit-key user@example.com
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
秘密鍵が利用できます。
sec rsa2048/D1514C891F120A2C
作成: 2018-05-01 有効期限: 無期限 利用法: SC
信用: 究極 有効性: 究極
ssb rsa2048/F6F0FAD94EA4AE03
作成: 2018-05-01 有効期限: 無期限 利用法: E
[ 究極 ] (1). User Name <user@example.com>
+ 副鍵を選択する為、 key 1 を type する(すると、下記のよ...
gpg> key 1
sec rsa2048/D15148891F120A2C
作成: 2018-05-01 有効期限: 無期限 利用法: SC
信用: 究極 有効性: 究極
ssb* rsa2048/F6F07AD94EA4AE03
作成: 2018-05-01 有効期限: 無期限 利用法: E
[ 究極 ] (1). User Name <user@example.com>
gpg>
+ この後は、主鍵と同様の操作で副鍵の更新を行うことが出来...
/////////////////////////////////////////////////////////...
* 鍵の削除 [#u090b1a5]
+ 削除するキーの ID を確認する
$ gpg --list-keys
pub rsa2048 2018-05-01 [SC] [有効期限: 2072-11-21]
A7140500C0F8F52503D62770B4A3D5A542333C02
uid [ 信用度 ] Example User <user@example.com>
+ ID を指定して削除
$ gpg --delete-keys user@example.com
/////////////////////////////////////////////////////////...
* 鍵の有効期限の更新 [#k78787ed]
//=======================================================...
** 有効期限の更新をする [#de943eae]
+ gpg を更新対象のキーID を指定して起動
$ gpg --edit-key <key-ID>
gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust mod...
gpg: depth: 0 valid: 10 signed: 0 trust: 0-, 0q, 0...
gpg: next trustdb check due at 2022-07-23
sec rsa****/****************
created: <created-date> expires: 2022-07-23 usage...
trust: ultimate validity: ultimate
ssb rsa****/****************
created: <created-date> expired: <expired-date> u...
[ultimate] (1). <user-name> <<key-ID>>
~
+ expire (失効日)を指定するコマンドを実行し、プロンプト...
gpg> expire
Changing expiration time for the primary key.
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
~
+ 確認されるので、OK なら "y" [return] をタイプ。
Key expires at 2022年07月23日 12時47分39秒 JST
Is this correct? (y/N) y
sec rsa****/****************
created: <created-date> expires: 2022-07-23 usage...
trust: ultimate validity: ultimate
ssb rsa****/****************
created: <created-date> expired: <expired-date> u...
[ultimate] (1). <user-name> <<key-ID>>
gpg: WARNING: Your encryption subkey expires soon.
gpg: You may want to change its expiration date too.
~
+ ここまで問題なければ、 "q" [retuen], "y" [return] をタ...
gpg> q
Save changes? (y/N) y
$
//=======================================================...
** 有効期限更新後 [#c66636e8]
- 公開鍵を生成し、差し替えを行う
-- 公開鍵をどこかに登録している場合は、有効期限を更新した...
/////////////////////////////////////////////////////////...
* 鍵の公開 [#q249a67a]
//=======================================================...
** キーサーバへのUP [#r7a33520]
- 自分のキーを、キーサーバ subkeys.pgp.net で公開する:
$ gpg --keyserver hkp://subkeys.pgp.net --send-keys <自...
** キーサーバに UP した公開鍵を失効させる [#revoke-key-on...
- 公開鍵をキーサーバに UP している場合は、これも失効させ...
- subkeys.pgp.net に UP している公開鍵を失効させる
$ gpg --keyserver subkeys.pgp.net --send-keys <自分の Ke...
//=======================================================...
** おまけ(自前サーバで公開鍵を公開する場合) [#zcfc761d]
- GPG公開鍵用の MIME-Typeがある。サーバが既に拡張子を指定...
- 下記は、公開パスを "~/public_html/public_keys"、公開鍵...
$ vi ~/public_html/public_keys/.htaccess
# Add MIME-Types
AddType application/pgp-keys pubkey
- ただ、公開鍵をASCII形式ファイルにしている場合は、「なに...
/////////////////////////////////////////////////////////...
* 参考文献 [#links]
- [[Debian リファレンス 第 14 章 - GnuPG>http://qref.sour...
- [[gnupg-3>http://www.math.s.chiba-u.ac.jp/~matsu/gpg/gp...
- [[GnuPGの公開鍵を無効化するには>http://www.atmarkit.co....
終了行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#contents]
#contents();
/////////////////////////////////////////////////////////...
* GnuPG [#gnupg]
//=======================================================...
** 鍵の生成 [#create-key]
$ gpg --gen-key
gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択は? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n> = 鍵は n 日間で満了
<n>w = 鍵は n 週間で満了
<n>m = 鍵は n か月間で満了
<n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)0
Key does not expire at all
これで正しいですか? (y/N) y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf...
本名: (名前を入力)
電子メール・アドレス: (メールアドレスを入力)
コメント:
次のユーザーIDを選択しました:
“名前 <メールアドレス>”
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か...
秘密鍵を保護するためにパスフレーズがいります。
パスフレーズを入力:
パスフレーズを再入力:
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
(他の作業をする)
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと172バイトいります)
(更に他の作業をする)
dsa.....+++++
.........+++++
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと71バイトいります)
(更に他の作業をする)
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと119バイトいります)
(更に他の作業をする)
dsa...+++++
gpg: 鍵***を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。
gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、P...
gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, ...
(以下生成結果・略)
$
//=======================================================...
** 秘密鍵 [#secret-key]
- 秘密鍵のexport
$ gpg -o sec.key -a --export-secret-key user@example.com
-- "-a" オプションを付けるとASCII、なければバイナリで出力...
- 秘密鍵のimport
$ gpg --import --allow-secret-key-import sec.key
- 秘密鍵の削除
$ gpg --delete-secret-keys user@example.com
-- 秘密鍵は、公開鍵に先んじて削除しておく必要がある
- 鍵束(キーのリスト)の表示
$ gpg --list-secret-key
//=======================================================...
** 公開鍵 [#public-key]
- 公開鍵の export
$ gpg -o pub.key -a --export user@example.com
-- "-a" オプションを付けるとASCII、なければバイナリで出力...
- 公開鍵の import
$ gpg --import pub.key
- 公開鍵の削除
$ gpg --delete-key user@example.com
-- 秘密鍵は、公開鍵に先んじて削除しておく必要がある
- 鍵束(キーのリスト)の表示
$ gpg --list-keys
//=======================================================...
** 公開鍵の失効証明書 [#revoke-key]
- パスフレーズを忘れた・漏洩したという場合に備えて、失効...
- 失効証明書の発行
$ gpg -o user.revoke --gen-revoke user@example.com
-- -o で指定したファイル名(上記例では user.revoke)にテ...
-- 途中で幾つか質問に答える場面がある。
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“user@example.com"
と訊かれたら、パスフレーズを入力する。ここでは失効証明書...
-- 生成した失効証明書は、他人に見られる心配のないところに...
- 失効証明書を使った鍵の無効化
$ gpg --import <失効証明書ファイル名>
- キーサーバに UP している場合は、それも失効させる必要が...
//=======================================================...
** 暗号化と復号 [#crypt-decrypt]
- ファイルを暗号化するには、渡す相手の公開鍵を先に入手し...
- receive-user@example.com のユーザに渡す target-file を...
$ gpg -a -r receive-user@example.com -e target-file
- 自分(user@example.com)の公開鍵を使って暗号化されたフ...
$ gpg -d encrypted-file
//=======================================================...
** 署名と検証 [#vaf4bf27]
- 自分(user@example.com)の秘密鍵で、clearsign-file に署...
$ gpg -u user@example.com --clearsign target-file
-- 署名されたファイルが、元のファイル名.asc というファイ...
- 受け取った人(receive-user@example.com)が、送り主(use...
$ gpg -d target-file.asc
//=======================================================...
** ファイルの暗号化 [#ra90a887]
- <file> を <user_id> の鍵で暗号化する場合は
$ gpg -e -r <user_id> <file>
-- <user_id> は、例えば<file>をあとで人に渡す場合は、相手...
//=======================================================...
** 信用度の設定 [#trust]
- 公開鍵を取り込んでも、そのままでは「信頼されていない」...
- 信用度には、1(知らない)から5(絶対的に信用する)の5段...
- 設定
$ gpg --edit-key <key-ID>
(指定したキーの現在の状態などが表示される)
gpg> trust
(キーの情報を表示)
他のユーザーの鍵を正しく検証するために、このユーザーの信...
(パスポートを見せてもらったり、他から得た指紋を検査した...
1 = 知らない、または何とも言えない
2 = 信用し ない
3 = ある程度信用する
4 = 完全に信用する
5 = 絶対的に信用する
m = メーン・メニューに戻る
あなたの決定は? 5 # <= 5を選択
本当にこの鍵を絶対的に信用しますか? (y/N) y
(キーの情報を表示)
プログラムを再起動するまで、表示された鍵の有効性は正しく...
ということを念頭においてください。
gpg> save
/////////////////////////////////////////////////////////...
* 副鍵の更新 [#a6ae3866]
+ gpg --edit-key を実行する
$ gpg --edit-key user@example.com
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
秘密鍵が利用できます。
sec rsa2048/D1514C891F120A2C
作成: 2018-05-01 有効期限: 無期限 利用法: SC
信用: 究極 有効性: 究極
ssb rsa2048/F6F0FAD94EA4AE03
作成: 2018-05-01 有効期限: 無期限 利用法: E
[ 究極 ] (1). User Name <user@example.com>
+ 副鍵を選択する為、 key 1 を type する(すると、下記のよ...
gpg> key 1
sec rsa2048/D15148891F120A2C
作成: 2018-05-01 有効期限: 無期限 利用法: SC
信用: 究極 有効性: 究極
ssb* rsa2048/F6F07AD94EA4AE03
作成: 2018-05-01 有効期限: 無期限 利用法: E
[ 究極 ] (1). User Name <user@example.com>
gpg>
+ この後は、主鍵と同様の操作で副鍵の更新を行うことが出来...
/////////////////////////////////////////////////////////...
* 鍵の削除 [#u090b1a5]
+ 削除するキーの ID を確認する
$ gpg --list-keys
pub rsa2048 2018-05-01 [SC] [有効期限: 2072-11-21]
A7140500C0F8F52503D62770B4A3D5A542333C02
uid [ 信用度 ] Example User <user@example.com>
+ ID を指定して削除
$ gpg --delete-keys user@example.com
/////////////////////////////////////////////////////////...
* 鍵の有効期限の更新 [#k78787ed]
//=======================================================...
** 有効期限の更新をする [#de943eae]
+ gpg を更新対象のキーID を指定して起動
$ gpg --edit-key <key-ID>
gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Fou...
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust mod...
gpg: depth: 0 valid: 10 signed: 0 trust: 0-, 0q, 0...
gpg: next trustdb check due at 2022-07-23
sec rsa****/****************
created: <created-date> expires: 2022-07-23 usage...
trust: ultimate validity: ultimate
ssb rsa****/****************
created: <created-date> expired: <expired-date> u...
[ultimate] (1). <user-name> <<key-ID>>
~
+ expire (失効日)を指定するコマンドを実行し、プロンプト...
gpg> expire
Changing expiration time for the primary key.
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
~
+ 確認されるので、OK なら "y" [return] をタイプ。
Key expires at 2022年07月23日 12時47分39秒 JST
Is this correct? (y/N) y
sec rsa****/****************
created: <created-date> expires: 2022-07-23 usage...
trust: ultimate validity: ultimate
ssb rsa****/****************
created: <created-date> expired: <expired-date> u...
[ultimate] (1). <user-name> <<key-ID>>
gpg: WARNING: Your encryption subkey expires soon.
gpg: You may want to change its expiration date too.
~
+ ここまで問題なければ、 "q" [retuen], "y" [return] をタ...
gpg> q
Save changes? (y/N) y
$
//=======================================================...
** 有効期限更新後 [#c66636e8]
- 公開鍵を生成し、差し替えを行う
-- 公開鍵をどこかに登録している場合は、有効期限を更新した...
/////////////////////////////////////////////////////////...
* 鍵の公開 [#q249a67a]
//=======================================================...
** キーサーバへのUP [#r7a33520]
- 自分のキーを、キーサーバ subkeys.pgp.net で公開する:
$ gpg --keyserver hkp://subkeys.pgp.net --send-keys <自...
** キーサーバに UP した公開鍵を失効させる [#revoke-key-on...
- 公開鍵をキーサーバに UP している場合は、これも失効させ...
- subkeys.pgp.net に UP している公開鍵を失効させる
$ gpg --keyserver subkeys.pgp.net --send-keys <自分の Ke...
//=======================================================...
** おまけ(自前サーバで公開鍵を公開する場合) [#zcfc761d]
- GPG公開鍵用の MIME-Typeがある。サーバが既に拡張子を指定...
- 下記は、公開パスを "~/public_html/public_keys"、公開鍵...
$ vi ~/public_html/public_keys/.htaccess
# Add MIME-Types
AddType application/pgp-keys pubkey
- ただ、公開鍵をASCII形式ファイルにしている場合は、「なに...
/////////////////////////////////////////////////////////...
* 参考文献 [#links]
- [[Debian リファレンス 第 14 章 - GnuPG>http://qref.sour...
- [[gnupg-3>http://www.math.s.chiba-u.ac.jp/~matsu/gpg/gp...
- [[GnuPGの公開鍵を無効化するには>http://www.atmarkit.co....
ページ名: