gpg에서 개인 서명 키만 제거합니다(하위 키 또는 "rm ~/.gnupg/private-keys-v1.d/KEYGRIP.key"를 다시 가져올 필요 없음).

gpg에서 개인 서명 키만 제거합니다(하위 키 또는 "rm ~/.gnupg/private-keys-v1.d/KEYGRIP.key"를 다시 가져올 필요 없음).

내가 이해한 바로는 개인-공개 키 쌍을 생성하고, 암호화를 위한 하위 키를 생성하고, 세 개의 키를 모두 내보내고 이를 저장/백업(예: "paperkey" 사용)한 다음 공개 키 방식만 다시 가져오는 것이 좋다고 간주됩니다. 및 하위 항목(참조https://paul.fawkesley.com/gpg-for-humans-protecting-your-primary-key/또한https://riseup.net/en/security/message-security/openpgp/best-practices#only-use-your-primary-key-for-certification-and-possibility-signing-have-a-separate-subkey- 암호화에 사용됨). 또한 키에는 만료 날짜가 있어야 합니다(참조:https://riseup.net/en/security/message-security/openpgp/best-practices#use-an-expiration-date-less-than-two-years).

만료 날짜를 업데이트하기 위해 현재 다음 단계를 수동으로 수행합니다.

gpg --import /PATH/TO/FULL-PRIVATE-KEY.asc
gpg --edit-key BADC0FFE0DDF00D
> expire      # the main key
> 1y          # expire in 1 year
> key 1       # select the first subkey
> key 2       # select the second subkey in addition
> expire      # for both of the subkeys
> y           # perform action on both keys
> 1y          # expire in 1 year
> save

이제 가져온 개인 키를 다시 삭제하고 싶습니다. 현재 저는 이 작업을 수행하는 두 가지 방법을 알고 있습니다.

gpg -K BADC0FFE0DDF00D         # here I should see the key
gpg --delete-secret-and-public-keys BADC0FFE0DDF00D
gpg -K BADC0FFE0DDF00D         # now nothing should be visible
gpg --import /PATH/TO/PRIVATE-SUB-KEY.asc /PATH/TO/PUBLIC-KEY.pub

또는

gpg -K --with-keygrip BADC0FFE0DDF00D     # copy the keygrip and use it below
rm -i ~/.gnupg/private-keys-v1.d/8BADF00DBEEFCACEDEFEC8EDDEADFA11.key

저는 두 가지 접근 방식 모두 마음에 들지 않습니다. 첫 번째 접근 방식은 단계가 많고 (공개 및 하위) 키 파일을 내보낸 다음 가져와야 하고, 두 번째 접근 방식은 오류가 발생하기 쉬운 것 같습니다(확인 메시지가 표시되지 않습니다(무시"). rm -i")(예: 삭제하려는 올바른 키인 경우).

내가 할 수 있는 이보다 더 우아한 일은 없을까?

gpg --delete-only-the-private-signing-key-if-you-have-already-created-other-subkeys BADC0FFE0DDF00D 

아니면 그런 것? 어떤 아이디어라도 감사하겠습니다!

저는 Debian Stable(실제로는 Debian Stable을 기반으로 하는 PureOS Amber)과 gpg(GnuPG) 2.2.12를 사용하고 있습니다.

답변1

만료일을 변경하려면 다음을 사용하는 것이 좋습니다.

gpg --quick-set-expire  FINGERPRINT \*

스크립트 작성이 더 쉽습니다. 매뉴얼 페이지(여기또는여기)더 알아보기.

마스터 키만 삭제하려면 다음과 같은 일반 명령을 사용할 수 있습니다.

$ gpg --delete-secret-key 502D1A5365D1C0CAA69945390BA52DF0BAA59D9C\!
sec  nistp256/0BA52DF0BAA59D9C 2010-09-17 ec_dsa_dh_256 <[email protected]>
Note: Only the secret part of the shown primary key will be deleted.
Delete this key from the keyring? (y/N) y
This is a secret key! - really delete? (y/N) y

지문 끝에 느낌표가 있습니다. 이는 명령이 전체 키에 적용되지 않도록 특정 기본 키나 하위 키를 강제로 적용합니다. 느낌표는 쉘 요구 사항으로 인해 인용됩니다. 확인 메시지를 표시하지 않으려면 --batch및 를 추가하세요 --yes.

참고: 2.2.12 버전이 작동하지 않습니다. 2.2.16에서 이 문제를 수정했습니다. 따라서 최신 버전(2020년 7월 초에 출시된 2.2.21)으로 업데이트하는 것이 가장 좋습니다.


공개: 나는 이 답변을 받았습니다베르너 코흐@dev.gnupg.org  gnupg.org 포럼에서그리고 여기서 공유하고 싶었습니다.

관련 정보