요즘 인터넷에서 관련 자료를 검색하고 있어요 gpg
. 나는 이것이 매우 혼란스럽다고 말해야 한다.
특히 수입/수출 부분이요. 키를 생성하면 기본적으로 기본적으로 4개의 키가 제공됩니다. 키를 내보내는 가능한 방법은 무엇입니까(하나의 키, 한 번에 여러 키)? 키(동일)를 삭제하는 가능한 방법은 무엇입니까? 또한 gpg --list-keys
결과를 올바르게 해석했는지 지금은 확실하지 않습니다 gpg --list-secret-keys
. 예를 들어, 하나의 키(하위 키)만 내보내는 것 같지만 gpg --export SUB_ID!
가져올 때 기본 키도 얻습니다.
답변1
나는 뭔가를 찾았습니다. 내가 틀렸다면 정정해주세요.
공개 키와 개인 키가 쌍으로 제공됩니다. 기본 키가 있으며 각 기본 키에는 하나 이상의 하위 키가 있을 수 있습니다. 기본적으로 키를 생성하면 4개의 키( (1) RSA and RSA (default)
)가 제공됩니다. 서명 및 인증을 위한 키 쌍(마스터 키)과 암호화를 위한 키 쌍(하위 키). 또한 개인 키와 공개 키에 대한 두 개의 키링이 있습니다.
이제 까다로운 부분으로 넘어갑니다. 키를 가져오거나 내보내려고 합니다. 이를 위해 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
s SUB_ID
는 뒤에 느낌표가 붙지 않는 한 서로 바꿔 사용할 수 있습니다. 하지만 의 경우 --delete-key
느낌표 --delete-secret-key
가 있어도 서로 바꿔 사용할 수 있습니다.
UPDgpg --list-packets
그것은 나에게 잘못된 것 같고 매뉴얼 페이지와 모순되지 않습니다. --export-secret-keys
결국 키를 내보내야 합니다. 다만 개인키를 통해 공개키를 추론할 수 있을 뿐입니다.
그러나 한 가지 남은 것이 있습니다. 기본 키와 하위 키 사이의 연결은 무엇입니까? 하위 키를 내보낼 때 기본 키도 얻는 이유는 무엇입니까?
UPD아, 그리고 각 키 쌍은 하나의 동일한 ID를 공유합니다.