最近インターネットで関連資料を検索していますgpg
。私はこれが非常に混乱していると言わなければなりません。
特に輸入/輸出部分です。キーを生成すると、デフォルトではデフォルトで4つのキーが提供されます。キーをエクスポートする方法は何ですか(1つのキー、一度に複数のキー)?キー(同じ)を削除する方法は何ですか?また、gpg --list-keys
結果が正しく解釈されたかどうかは今はわかりませんgpg --list-secret-keys
。たとえば、1つのキー(サブキー)のみをエクスポートするようですが、gpg --export SUB_ID!
インポート時に主キーも取得されます。
答え1
私は何かを見つけました。間違っていたら訂正してください。
公開鍵と秘密鍵はペアで提供されます。主キーがあり、各主キーには1つ以上のサブキーがあります。デフォルトでは、キーを生成すると4つのキー((1) RSA and RSA (default)
)が提供されます。署名と認証のためのキーペア(マスターキー)と暗号化のためのキーペア(サブキー)。また、秘密鍵と公開鍵の2つの鍵リングがあります。
今、トリッキーな部分に進みます。キーをインポートまたはエクスポートしようとします。そのために、2人の子供がいるアイテムを作成しました。その後、別の方法でエクスポートします。
$ gpg --export PRI_ID > ~/_/export-1
$ gpg --export PRI_ID! > ~/_/export-2
$ gpg --export SUB_ID_1! > ~/_/export-3
$ gpg --export SUB_ID_2! > ~/_/export-4
$ gpg --export-secret-keys PRI_ID > ~/_/export-secret-keys-1
$ gpg --export-secret-keys PRI_ID! > ~/_/export-secret-keys-2
$ gpg --export-secret-keys SUB_ID_1! > ~/_/export-secret-keys-3
$ gpg --export-secret-keys SUB_ID_2! > ~/_/export-secret-keys-4
$ gpg --export-secret-subkeys PRI_ID > ~/_/export-secret-subkeys-1
$ gpg --export-secret-subkeys PRI_ID! > ~/_/export-secret-subkeys-2
$ gpg --export-secret-subkeys SUB_ID_1! > ~/_/export-secret-subkeys-3
$ gpg --export-secret-subkeys SUB_ID_2! > ~/_/export-secret-subkeys-4
鍵のエクスポートを開始し、何が起こるかを確認してください。
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-1; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-2; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-3; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-4; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-keys-1; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-keys-2; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-keys-3; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-keys-4; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-subkeys-1; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-subkeys-2; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-subkeys-3; gpg -k; gpg -K
$ gpg --delete-secret-key PRI_ID; gpg --delete-key PRI_ID; gpg --import ~/_/export-secret-subkeys-4; gpg -k; gpg -K
マンページの内容と多少矛盾する結論は次のとおりです。
`gpg --export PRI_ID` exports all public keys (3 keys)
`gpg --export PRI_ID!` exports primary public key (1 key)
`gpg --export SUB_ID!` exports public primary key and public subkey (2 keys)
`gpg --export-secret-keys PRI_ID` exports all 3 keypairs (6 keys)
`gpg --export-secret-keys PRI_ID!` exports primary keypair (2 key)
`gpg --export-secret-keys SUB_ID!` exports primary keypair and subkey keypair (4 keys)
gpg --export-secret-subkeys
と似ていますgpg --export-secret-keys
が、プライベート主キーをエクスポートしません(またはいわゆる役に立たないsec#
)。一般的に、PRI_ID
sSUB_ID
は後ろに感嘆符が付かない限り互いに置き換えて使用できます。しかし、 の場合、--delete-key
感嘆符--delete-secret-key
があっても、互いを変えて使用できます。
UPDgpg --list-packets
それは私にとって間違っているようで、マニュアルページと矛盾しません。--export-secret-keys
結局、鍵をエクスポートする必要があります。ただし、秘密鍵を通じて公開鍵を推論できるだけです。
しかし、残りの1つがあります。主キーとサブキーの間の接続は何ですか?サブキーをエクスポートするときに主キーも取得されるのはなぜですか?
UPDああ、そして各キーペアは1つの同じIDを共有します。