110.3 レッスン 2
Certificate: |
LPIC-1 |
---|---|
Version: |
5.0 |
Topic: |
110 セキュリティ |
Objective: |
110.3 暗号化によるデータの保護 |
Lesson: |
2 of 2 |
はじめに
前のレッスンでは、OpenSSH を使ってリモートホストにログインすることと、そこでやり取りする情報を暗号化する方法を説明しました。リモートホストにログインせず、ファイルやメールを暗号化して、覗き見されることなく安全に受け手まで届けたいという場面もあるでしょう。改ざんされないようにファイルやメールにデジタル署名をする必要もあるかもしれません。
こうした場面では、GNU Privacy Guard(GnuPGやGPGと略されます) を使えます。これは、プロプライエタリなソフトウェアである Pretty Good Privacy(PGP) を、フリーでオープンなソフトウェアとして実装したものです。GPGは、Internet Engineering Task Force(IETF)の OpenPGPワーキンググループ がRFC 4880において定義した OpenPGP 規格に準拠しています。このレッスンでは、GNU Privacy Guardの基本を概観します。
GnuPGの基本設定・利用・失効
SSHと同様に、GPGは 非対称暗号(公開鍵暗号) の仕組みを利用しています。ユーザーは 秘密鍵 と 公開鍵 で構成される鍵ペアを生成します。公開鍵と秘密鍵には数学的な関連があり、一方の鍵で暗号化されたものは他方の鍵でしか復号できません。GPGを使ってやり取りをするには、ユーザーの公開鍵を通信相手に配布する必要があります。
GnuPGの設定と利用
GPGを使って作業するコマンドは gpg
です。このコマンドには様々なオプションがあります。ユーザー carol
が鍵ペアを作成するところから始めましょう。そのためには、gpg --gen-key
コマンドを実行します。
carol@debian:~$ gpg --gen-key gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: directory '/home/carol/.gnupg' created gpg: keybox '/home/carol/.gnupg/pubring.kbx' created Note: Use "gpg --full-generate-key" for a full featured key generation dialog. GnuPG needs to construct a user ID to identify your key. Real name: (...)
設定ディレクトリ ~/.gnupg
と公開鍵の鍵束 ~/.gnugpg/pubring.kbx
が作成されたことなどが通知されたあとに、名前とメールアドレスの入力を求められます。
(...) Real name: carol Email address: carol@debian You selected this USER-ID: "carol <carol@debian>" Change (N)ame, (E)mail, or (O)kay/(Q)uit?
入力した名前とメールアドレスを組み合わせた USER-ID
が表示されているものでよければ、Oを押してください。すると、次にパスフレーズの入力を求められます(複雑なパスフレーズにすることが推奨されます)。
┌──────────────────────────────────────────────────────┐ │ Please enter the passphrase to │ │ protect your new key │ │ │ │ Passphrase: │ (...)
鍵本体とその他のファイルが作成されたことなどを伝えるメッセージが表示され、鍵の生成が完了します。
(...) We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. gpg: /home/carol/.gnupg/trustdb.gpg: trustdb created gpg: key 19BBEFD16813034E marked as ultimately trusted gpg: directory '/home/carol/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/carol/.gnupg/openpgp-revocs.d/D18FA0021F644CDAF57FD0F919BBEFD16813034E.rev' public and secret key created and signed. pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
~/.gnupg
ディレクトリ(GPGの設定ディレクトリ)の内容を見てみましょう。
carol@debian:~/.gnupg$ ls -l total 16 drwx------ 2 carol carol 4096 Jul 3 23:34 openpgp-revocs.d drwx------ 2 carol carol 4096 Jul 3 23:34 private-keys-v1.d -rw-r--r-- 1 carol carol 1962 Jul 3 23:34 pubring.kbx -rw------- 1 carol carol 1240 Jul 3 23:34 trustdb.gpg
ディレクトリとファイルについて説明します。
opengp-revocs.d
-
鍵ペアと同時に作られた失効証明書が保管されます。失効証明書にアクセスできると鍵を失効させることができてしまうので、このディレクトリのパーミッションは本人限定になっています(失効については次のサブセクションで詳説します)。
private-keys-v1.d
-
秘密鍵を保管するディレクトリであり、パーミッションは本人限定になっています。
pubring.kbx
-
公開鍵の鍵束(key ring)です。作成した自分の公開鍵と、インポートした他者の公開鍵を保管します。
trustdb.gpg
-
信用データベースです。信用の輪(Web of Trust) という概念と関係しています(このレッスンの範囲外です)。
Note
|
GnuPG 2.1 では大きな変更がありました。 |
鍵ペアの作成後に gpg --list-keys
を実行すると、公開鍵の鍵束の内容が表示され、公開鍵を確認できます。
carol@debian:~/.gnupg$ gpg --list-keys /home/carol/.gnupg/pubring.kbx ------------------------------ pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid [ultimate] carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
16進数の文字列 D18FA0021F644CDAF57FD0F919BBEFD16813034E
が 公開鍵指紋 です。
Note
|
|
鍵の配布と失効
自分の公開鍵を作成したので、将来の通信相手に配布できるように、その公開鍵をファイルに エクスポート して保存します。通信相手は、その公開鍵を使って、ファイルやメッセージを暗号化できます(その公開鍵とペアになる秘密鍵を持っているのは自分だけですから、そのファイルやメッセージを復号できるのは自分だけだということになります)。同様に、通信相手は、その公開鍵を使って、自分が秘密鍵で暗号化・署名したファイルやメッセージを復号・検証できます。公開鍵をファイルにエクスポートして保存するには、gpg --export
のあとに USER-ID
を指定して実行し、適当なファイル名を指定してその出力をリダイレクトします。
carol@debian:~/.gnupg$ gpg --export carol > carol.pub.key carol@debian:~/.gnupg$ ls carol.pub.key openpgp-revocs.d private-keys-v1.d pubring.kbx trustdb.gpg
Note
|
|
先述したように、公開鍵ファイル(carol.pub.key
)を、情報をやり取りしたい通信相手に送らなければなりません。一例として、scp
(Secure CoPy)を使い、公開鍵ファイルをリモートサーバー halof
の ina
に送ります。
carol@debian:~/.gnupg$ scp carol.pub.key ina@halof:/home/ina/ Enter passphrase for key '/home/carol/.ssh/id_ecdsa': carol.pub.key 100% 1740 775.8KB/s 00:00 carol@debian:~/.gnupg$
ina
は carol.pub.key
を取得できたので、これを使ってファイルを暗号化して carol
に送れます(次の節で実演します)。
Note
|
鍵サーバー を利用して公開鍵を配布するという方法も広く使われています。 |
この節の最後に、鍵の失効について説明します。秘密鍵が漏洩した場合や秘密鍵の利用を終了する場合には、鍵を失効させるべきです。鍵を失効させるには、まず、gpg
コマンドで --gen-revoke
オプションと USER-ID
を指定して、失効証明書を作成します。--gen-revoke
オプションの前に --output
オプションとファイル名を指定すると、失効証明書をターミナルに出力する代わりにファイルに保存します。このコマンドを実行すると表示されるメッセージについて特に説明する必要はないでしょう(訳注:鍵を失効させる理由の選択と備考の記載が求められ、失効証明書を厳重に保管するように警告する内容が表示されます)。
sonya@debian:~/.gnupg$ gpg --output revocation_file.asc --gen-revoke sonya sec rsa3072/0989EB7E7F9F2066 2020-07-03 sonya <sonya@debian> Create a revocation certificate for this key? (y/N) y Please select the reason for the revocation: 0 = No reason specified (理由を指定しない) 1 = Key has been compromised (鍵の漏洩) 2 = Key is superseded (鍵の切り替え) 3 = Key is no longer used (鍵の破棄) Q = Cancel (Probably you want to select 1 here) Your decision? 1 Enter an optional description; end it with an empty line: > My laptop was stolen. > Reason for revocation: Key has been compromised My laptop was stolen. Is this okay? (y/N) y ASCII armored output forced. Revocation certificate created. Please move it to a medium which you can hide away; if Mallory gets access to this certificate he can use it to make your key unusable. It is smart to print this certificate and store it away, just in case your media become unreadable. But have some caution: The print system of your machine might store the data and make it available to others! (要約:安全なメディアにファイルを保管します。誰かに漏洩すると悪者はあなたの鍵を無効化できます。メディアが読めなくなることに備えて印刷しておくとよいでしょう。)
失効証明書が revocation_file.asc
ファイルに保存されます(ASCII形式だということを示すために .asc
というサフィックスにしました)。
sonya@debian:~/.gnupg$ ls openpgp-revocs.d private-keys-v1.d pubring.kbx revocation_file.asc trustdb.gpg sonya@debian:~/.gnupg$ cat revocation_file.asc -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: This is a revocation certificate iQHDBCABCgAtFiEEiIVjfDnnpieFi0wvnlcN6yLCeHEFAl8ASx4PHQJzdG9sZW4g bGFwdG9wAAoJEJ5XDesiwnhxT9YMAKkjQiMpo9Uyiy9hyvukPPSrLcmtAGLk4pKS pLZfzA5kxa+HPQwBglAEvfNRR6VMxqXUgUGYC/IAyQQM62oNAcY2PCPrxyJNgVF7 8l4mMZKvW++5ikjZwyg6WWV0+w6oroeo9qruJFjcu752p4T+9gsHVa2r+KRqcPQe aZ65sAvsBJlcsUDZqfWUXg2kQp9mNPCdQuqvDaKRgNCHA1zbzNFzXWVd2X5RgFo5 nY+tUP8ZQA9DTQPBLPcggICmfLopMPZYB2bft5geb2mMi2oNpf9CNPdQkdccimNV aRjqdUP9C89PwTafBQkQiONlsR/dWTFcqprG5KOWQPA7xjeMV8wretdEgsyTxqHp v1iRzwjshiJCKBXXvz7wSmQrJ4OfiMDHeS4ipR0AYdO8QCzmOzmcFQKikGSHGMy1 z/YRlttd6NZIKjf1TD0nTrFnRvPdsZOlKYSArbfqNrHRBQkgirOD4JPI1tYKTffq iOeZFx25K+fj2+0AJjvrbe4HDo5m+Q== =umI8 -----END PGP PUBLIC KEY BLOCK-----
鍵を失効させるには、証明書を鍵にマージする必要があります。これは、失効証明書ファイルを鍵束にインポートすることで行います。
sonya@debian:~/.gnupg$ gpg --import revocation_file.asc gpg: key 9E570DEB22C27871: "sonya <sonya@debian>" revocation certificate imported gpg: Total number processed: 1 gpg: new key revocations: 1 gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: next trustdb check due at 2022-07-04
鍵の一覧を表示すると、revokedと記載されていることから、鍵が失効していることがわかります。
sonya@debian:~/.gnupg$ gpg --list-keys /home/sonya/.gnupg/pubring.kbx pub rsa3072 2020-07-04 [SC] [revoked: 2020-07-04] 8885637C39E7A627858B4C2F9E570DEB22C27871 uid [ revoked] sonya <sonya@debian>
最後に、失効前の公開鍵を持っている人(鍵サーバーにストアした公開鍵を含む)に、失効後の公開鍵を配布するのを忘れないようにしてください。
GPGを使ってファイルを暗号化・復号・署名・検証する
前節では、carol
が ina
に公開鍵を配布しました。GPGを使ってファイルを暗号化・復号・署名・検証する方法を説明します。
ファイルの暗号化と復号
ina
が carol
の公開鍵(carol.pub.key
)を自分の鍵束にインポートするところから始めます。
ina@halof:~> gpg --import carol.pub.key gpg: /home/ina/.gnupg/trustdb.gpg: trustdb created gpg: key 19BBEFD16813034E: public key "carol <carol@debian>" imported gpg: Total number processed: 1 gpg: imported: 1 ina@halof:~> gpg --list-keys /home/ina/.gnupg/pubring.kbx ---------------------------- pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid [ unknown] carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
次に、メッセージを書いたファイルを作成し、gpg
コマンドでそのファイルを暗号化します。carol
の公開鍵には署名がないので、その鍵が本当に carol
のものであると信用するかどうか尋ねられます。(訳注:公開鍵には別の人の署名を付けることができます。--lsign-key
を使用して自分で署名すれば、その鍵を信用したと見なされ、以後このような確認をされなくなります。また、公開鍵に共通の知人の署名が付けられていれば、社会的な意味で鍵を信用できると見なすことができるでしょう。これが「信用の輪」Web of Trust
の考え方です。)
ina@halof:~> echo "This is the message ..." > unencrypted-message ina@halof:~> gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message gpg: 0227347CC92A5CB1: There is no assurance this key belongs to the named user sub rsa3072/0227347CC92A5CB1 2020-07-03 carol <carol@debian> Primary key fingerprint: D18F A002 1F64 4CDA F57F D0F9 19BB EFD1 6813 034E Subkey fingerprint: 9D89 1BF9 39A4 C130 E44B 1135 0227 347C C92A 5CB1 It is NOT certain that the key belongs to the person named in the user ID. If you really know what you are doing, you may answer the next question with yes. Use this key anyway? (y/N) y
実行した gpg
コマンドについて、一つずつ見ていきましょう。
--output encrypted-message
-
元ファイルを暗号化したファイルの名前を指定します(ここでは
encrypted-message
というファイル名を指定しています)。 --recipient carol
-
受け手の
USER-ID
を指定します(ここではcarol
を指定しています)。この指定をしなければ、--default-recipient
を指定しない限り、コマンド実行時にUSER-ID
の入力を求められます。 --armor
-
ASCII armoredテキスト形式を出力します。テキスト形式ですから、メールの本文に貼り付けられます。
--encrypt unencrypted-message
-
暗号化する元ファイルのパスを指定します。
scp
コマンドで debian
の carol
に encrypted-message
を送ります。
ina@halof:~> scp encrypted-message carol@debian:/home/carol/ carol@debian's password: encrypted-message 100% 736 1.8MB/s 00:00
carol
がこの encrypted-message
ファイルをそのまま読もうとすると、暗号化されていて判読できません。
carol@debian:~$ cat encrypted-message -----BEGIN PGP MESSAGE----- hQGMAwInNHzJKlyxAQv/brJ8Ubs/xya35sbv6kdRKm1C7ONLxL3OueWA4mCs0Y/P GBna6ZEUCrMEgl/rCyByj3Yq74kuiTmzxAIRUDdvHfj0TtrOWjVAqIn/fPSfMkjk dTxKo1i55tLJ+sj17dGMZDcNBinBTP4U1atuN71A5w7vH+XpcesRcFQLKiSOmYTt F7SN3/5x5J6io4ISn+b0KbJgiJNNx+Ne/ub4Uzk4NlK7tmBklyC1VRualtxcG7R9 1klBPYSld6fTdDwT1Y4MofpyILAiGMZvUR1RXauEKf7OIzwC5gWU+UQPSgeCdKQu X7QL0ZIBS0Ug2XKrO1k93lmDjf8PWsRIml6n/hNelaOBA3HMP0b6Ozv1gFeEsFvC IxhUYPb+rfuNFTMEB7xIO94AAmWB9N4qknMxdDqNE8WhA728Plw6y8L2ngsplY15 MR4lIFDpljA/CcVh4BXVe9j0TdFWDUkrFMfaIfcPQwKLXEYJp19XYIaaEazkOs5D W4pENN0YOcX0KWyAYX6r0l8BF0rq/HMenQwqAVXMG3s8ATuUOeqjBbR1x1qCvRQP CR/3V73aQwc2j5ioQmhWYpqxiro0yKX2Ar/E6rZyJtJYrq+CUk8O3JoBaudknNFj pwuRwF1amwnSZ/MZ/9kMKQ== =g1jw -----END PGP MESSAGE-----
carol
は秘密鍵を持っていますから、gpg
コマンドを --decrypt
オプションと暗号化されたファイルのパスを指定して実行することで、このファイルを復号できます(秘密鍵のパスフレーズの入力を求められます)。
carol@debian:~$ gpg --decrypt encrypted-message gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03 "carol <carol@debian>" This is the message ...
--output
オプションとファイル名を指定すると、復号したメッセージを新しいファイルに保存できます。
carol@debian:~$ gpg --output unencrypted-message --decrypt encrypted-message gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03 "carol <carol@debian>" carol@debian:~$ cat unencrypted-message This is the message ...
ファイルの署名と検証
GPGは、ファイルを暗号化するだけでなく、署名するためにも使えます。--sign
オプションとファイルパスを指定します。新しいメッセージを書いた message
という名前のファイルを作成し、--sign
オプションで署名します(秘密鍵のパスフレーズの入力を求められます)。(訳注:ここで言うところの署名は、ファイルのハッシュ値を署名者の秘密鍵で暗号化した証明書を添付し、受信者は署名を署名者の公開鍵で復号して、取り出したハッシュ値とファイルのハッシュ値を比較することで、秘密鍵の所有者が署名したこととファイルが改ざんされていないことを確認する仕組みのデジタル署名です。)
carol@debian:~$ echo "This is the message to sign ..." > message carol@debian:~$ gpg --output message.sig --sign message (...)
実行した gpg
コマンドについて、一つずつ見ていきましょう。
--output message.sig
-
署名をしたファイルの名前を指定します(ここでは
message.sig
というファイル名を指定しています)。 --sign message
-
元ファイルのパスを指定します。
Note
|
|
scp message.sig ina@halof:/home/ina
コマンドで、署名したファイルを halof
の ina
に送ります。ina
は gpg
コマンドを --verify
オプションとファイルパスを指定して実行することで、署名されたファイルを検証できます。
ina@halof:~> gpg --verify message.sig gpg: Signature made Sat 04 jul 2020 14:34:41 CEST gpg: using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E gpg: Good signature from "carol <carol@debian>" [unknown] (...)
ファイルの中身を読みたければ、--output
オプションとファイル名を指定して、新しいファイルに保存します(ここでは message
というファイル名にしました)。
ina@halof:~> gpg --output message --decrypt message.sig gpg: Signature made Sat 04 jul 2020 14:34:41 CEST gpg: using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E gpg: Good signature from "carol <carol@debian>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: D18F A002 1F64 4CDA F57F D0F9 19BB EFD1 6813 034E ina@halof:~> cat message This is the message to sign ...
GPGエージェント
gpg-agent
に軽く触れてこのレッスンを終えます。gpg-agent
は、gpg
の呼び出しに応じて起動する、GPGの秘密鍵を管理するデーモンです。gpg-agent --help
ないし gpg-agent -h
を実行すると、概要が表示されます。
carol@debian:~$ gpg-agent --help gpg-agent (GnuPG) 2.2.4 libgcrypt 1.8.1 Copyright (C) 2017 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: gpg-agent [options] [command [args]] Secret key management for GnuPG Options: --daemon run in daemon mode (background) --server run in server mode (foreground) --supervised run in supervised mode -v, --verbose verbose -q, --quiet be somewhat more quiet -s, --sh sh-style command output -c, --csh csh-style command output (...)
Note
|
詳細は |
演習
-
以下の表の空欄を正しいファイル名で埋めてください。
説明 ファイル名 信用データベース
失効証明書のディレクトリ
秘密鍵のディレクトリ
公開鍵の鍵束
-
次の問いに答えてください。
-
GnuPG で用いられている暗号化の種類は何ですか?
-
公開鍵暗号の2つの主な構成要素は何ですか?
-
公開鍵指紋
07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7
のKEY-ID
は何ですか? -
グローバルレベルで公開鍵を配布するための方法は何ですか?
-
-
秘密鍵の失効に関して、以下のステップを適切な順番に並べ替えてください。
-
失効させた公開鍵を配布します。
-
失効証明書を作成します。
-
失効証明書を鍵束にインポートします。
正しい順序は次のとおりです。
Step 1:
Step 2:
Step 3:
-
-
ファイルの暗号化に関するコマンド
gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message
中の--armor
オプションはどういう働きをしますか?
発展演習
-
gpg
コマンドのオプションにはロングオプションとショートオプションがあります。以下の表のロングオプションに対応するショートオプションを埋めてください。ロングオプション ショートオプション --armor
--output
--recipient
--decrypt
--encrypt
--sign
-
鍵のエクスポートに関する次の問いに答えてください。
-
すべての公開鍵を
all.key
という名前のファイルにエクスポートするコマンドは何ですか? -
すべての秘密鍵を
all_private.key
という名前のファイルにエクスポートするコマンドは何ですか?
-
-
鍵の管理作業をメニューで対話的に行う
gpg
コマンドのオプションは何ですか? -
クリアテキストに署名する
gpg
コマンドのオプションは何ですか?
まとめ
このレッスンでは、ファイルを暗号化・復号・署名・検証する、GNU Privacy Guard を取り上げ、以下の事柄を説明しました。
-
鍵ペアの生成
-
鍵束の一覧表示
-
~/.gnupg
ディレクトリの内容 -
USER-ID
とKEY-ID
-
公開鍵を通信相手に配布する方法
-
公開鍵の鍵サーバーを通じた配布
-
秘密鍵の失効
-
ファイルの暗号化と復号
-
ファイルの署名と検証
-
GPG-Agent の基礎
このレッスンでは、次のコマンドについて説明しました。
gpg
-
OpenPGP で暗号化や署名をします。
演習の解答
-
以下の表の空欄を正しいファイル名で埋めてください。
説明 ファイル名 信用データベース
trustdb.gpg
失効証明書のディレクトリ
opengp-revocs.d
秘密鍵のディレクトリ
private-keys-v1.d
公開鍵の鍵束
pubring.kbx
-
次の問いに答えてください。
-
GnuPG で用いられている暗号化の種類は何ですか?
非対称暗号(公開鍵暗号)です。(訳注:データの暗号化には対称暗号(共通鍵暗号)も併用されます。)
-
公開鍵暗号の2つの主な構成要素は何ですか?
公開鍵と秘密鍵です。
-
公開鍵指紋
07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7
のKEY-ID
は何ですか?FA7F 54C7
です。 -
グローバルレベルで公開鍵を配布するための方法は何ですか?
鍵サーバーを利用します。
-
-
秘密鍵の失効に関して、以下のステップを適切な順番に並べ替えてください。
-
失効させた公開鍵を配布します。
-
失効証明書を作成します。
-
失効証明書を鍵束にインポートします。
正しい順序は次のとおりです。
Step 1:
失効証明書を作成します。
Step 2:
失効証明書を鍵束にインポートします。
Step 3:
失効させた公開鍵を配布します。
-
-
ファイルの暗号化に関するコマンド
gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message
中の--armor
オプションはどういう働きをしますか?ASCII armoredテキスト形式で出力し、メールの本文に貼り付けられるようにします。
発展演習の解答
-
gpg
コマンドのオプションにはロングオプションとショートオプションがあります。以下の表のロングオプションに対応するショートオプションを埋めてください。ロングオプション ショートオプション --armor
-a
--output
-o
--recipient
-r
--decrypt
-d
--encrypt
-e
--sign
-s
-
鍵のエクスポートに関する次の問いに答えてください。
-
すべての公開鍵を
all.key
という名前のファイルにエクスポートするコマンドは何ですか?gpg --export --output all.key
ないしgpg --export -o all.key
です。 -
すべての秘密鍵を
all_private.key
という名前のファイルにエクスポートするコマンドは何ですか?gpg --export-secret-keys --output all_private.key
ないしgpg --export-secret-keys -o all_private.key
です。(--export-secret-keys
の部分を--export-secret-subkeys
にすると、微妙に異なる結果になります。詳しくはman gpg
を参照してください。)
-
-
鍵の管理作業をメニューで対話的に行う
gpg
コマンドのオプションは何ですか?--edit-key
です。 -
クリアテキストに署名する
gpg
コマンドのオプションは何ですか?--clearsign
です。