GnuPG公開秘密鍵ペアを生成したい。私はgpg
をインストールしており、gpg2
はインストールしていません。ターミナルに行って次のようにしました:
gpg --gen-key
出力:
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
1
を選択しました出力:
What keysize do you want? (2048)
4096
を選択しました出力:
Key is valid for? (0)
0
を選択しました出力:
You need a user ID to identify your key;
the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Name Title (some comment) <[email protected]>"
Real name: My Name
Email address: [email protected]
Comment: comment
You selected this USER-ID:
"My Name (comment) <[email protected]>"
出力:
You need a Passphrase to protect your secret key.
パスフレーズを出力しました:
gpg: key XXXXXXXL marked as ultimately trusted
public and secret key created and signed.
pub ABCDE/XXXXXXXL 2016-06-09
Key fingerprint = XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXL
uid My Name (comment) <[email protected]>
sub ABCDE/XXXXXXXM 2016-06-09
~/.profile
に次の行を追加しました:
export GPGKEY=XXXXXXXM
それからそれを調達するために私はやった
killall -q gpg-agent
eval $(gpg-agent --daemon)
export GPGKEY=XXXXXXXM
次に、暗号化しました。
gpg --cert-digest-algo=SHA256 --edit-key XXXXXXXM
出力:
Secret key is available.
pub ABCDE/XXXXXXXM created: 2016-06-09 expires: never usage: SC
trust: ultimate validity: ultimate
[ultimate] (1). My Name (comment) <[email protected]>
Command>
やった
addkey
出力:
Please select what kind of key you want:
(2) DSA (sign only)
(4) Elgamal (encrypt only)
(5) RSA (sign only)
(6) RSA (encrypt only)
6
を選択しました出力:
What keysize do you want? (2048)
4096
を選択しました出力:
Key is valid for? (0)
0
を選択しました出力:
pub ABCDE/XXXXXXXL created: 2016-06-09 expires: never usage: SC
trust: ultimate validity: ultimate
sub ABCDE/XXXXXXXM created: 2016-06-09 expires: never
sub ABCDE/XXXXXXXN created: 2016-06-09 expires: never usage: E
[ultimate] (1). My Name (comment) <[email protected]>
Command>
やった:
save
次に私はしました:
gpg --list-keys
これは私のサンプル出力です:
pub ABCDE/XXXXXXXL 2016-06-09
uid My Name (comment) <[email protected]>
sub ABCDE/XXXXXXXM 2016-06-09
sub ABCDE/XXXXXXXN 2016-06-10
しかし私がするとき
`gpg --list-secret-keys`
Pubの代わりにsecを除いて、同じ出力が得られます。
sec ABCDE/XXXXXXXL 2016-06-09
uid My Name (comment) <[email protected]>
sub ABCDE/XXXXXXXM 2016-06-09
sub ABCDE/XXXXXXXN 2016-06-10
pub ABCDE/
の後の部分が公開鍵であり、sec ABCDE/
の後の部分が秘密鍵であることを知っています。つまり、私の公開鍵と秘密鍵は同じです。
別の特異なシナリオは、ここで3行がABCDE
で始まるというものですが、組み合わせは異なっている必要があります。
公開鍵と秘密鍵を別々に取得するにはどうすればよいですか?
pub ABCDE/
の後の部分が公開鍵であり、sec ABCDE/
の後の部分が秘密鍵であることを知っています。
アルゴリズム識別フィールドをキーIDと間違えています。
sec ABCDE/XXXXXXXL 2016-06-09
uid My Name (comment) <[email protected]>
sub ABCDE/XXXXXXXM 2016-06-09
sub ABCDE/XXXXXXXN 2016-06-10
ABCDE
で非表示にしていたフィールドがABCDE
になることはありません。このフィールドは、アルゴリズムとキーサイズ識別子を保持します。たとえば、4096ビットのRSAキーの場合はR4096
です。同じアルゴリズムとキーサイズに対して同じ情報を保持することが期待されています。 D1024
は、1024ビットのDSAキーなどを示します。
(短い)キーIDは後ろスラッシュ/
-の部分であり、質問を見ると、とにかくすでに別のようです。
公開鍵と秘密鍵を別々に取得するにはどうすればよいですか?
あなたはすでに持っています。公開鍵と秘密鍵の3つのペアが生成され、それぞれが一意です。 OpenPGPでは、常に公開鍵を参照します(とにかく鍵は常にペアで提供されるため)。