왜 gpg가 화를 내고 중지합니까?


24

최근에 한 우분투 설치에서 다른 설치로 마이그레이션했으며 그 과정에서 내 사용자 이름이 변경되었습니다. 공개 / 개인 키 쌍을 gpg로 가져 왔으며 해독 (개인 키 사용)은 정상적으로 작동하지만 공개 키로 무언가를 암호화하려고 할 때마다 다음 경고 메시지가 표시됩니다.

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.

그 후 실제로 키를 사용할 것인지 묻는 메시지가 표시됩니다 (실제로 키 링 의 유일한 키이고 키의 출처를 알기 때문에 항상 "예"라고 대답합니다 ). 나는 물건을 잘 해독 할 수 있으므로 gpg가 무언가를 암호화하려고 할 때 왜 히스 티를 던지는가? 이 메시지가 다시 나타나지 않게하려면 어떻게해야합니까?


stackoverflow help 에서이 이전 질문에 대한 답변이 있습니까? : stackoverflow.com/q/9460140/2422988
— Paul

@Paul, 예, 그 링크가 약간 도움이되었습니다. 내 키의 "신뢰"수준을 궁극적으로 설정했는데 문제가 해결 된 것 같습니다. 그러나 이었다 문제는? 왜 이런 일이 발생했으며, 문제를 해결했거나 증상을 완화 했습니까?
— fouric

죄송합니다, InkBlend,이 경우 검색 결과를 선별하고 비교할 수있는 능력이 pgp에 대한 나의 지식을 능가하는 것을 두려워합니다. 그래도 개럿은 무슨 일이 일어나고 있는지 알고 있습니다.
— Paul

답변:


16

나는 당신이 겪고있는 문제를 재현했습니다. 나는 다음과 같이했다 :

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

이 프로세스는 키를 "궁극적으로 신뢰할 수있는"것으로 표시했습니다.

이제 키를 내 보냅니다.

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

이제 새로운 gpg 데이터베이스로 가져옵니다.

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

이제 새로운 열쇠 고리를 사용하여 암호화하려고하면 다음과 같은 결과가 나타납니다.

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <fake@example.com>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

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.

그 이유는 "신뢰의 웹"모델입니다. 공개 키를 신뢰할 수 있으려면 기본적으로 1 개의 "최종"신뢰 인증서 (일반적으로 관련 사용자의 신원을 직접 확인한 경우) 또는 3 개의 "최소"신뢰 인증서 (아는 사람, 당신이 알고있는 누군가를 알고있는 사람은 ... 인증서에 서명했습니다).

gpg는 보안 응용 프로그램이므로 신뢰할 수없는 것으로 나열되지 않은 키로 암호화하려고하면 경고합니다. 이 경우 자신의 키를 신뢰할 수없는 이유는 간단합니다. 이전 gpg 인스턴스에서 트러스트 관계를 내 보내지 않았기 때문입니다. 이렇게하려면 --export-ownertrust 및 --import-ownertrust 명령을 사용하십시오.

항상 그렇듯이 맨 페이지를 참조하십시오 .


1
중요한 것은 키 트러스트에 대한 모든 데이터가 키링 (비밀 및 공개)과 별도로 저장된다는 것입니다! ~/.gnupg/trustdb.gpg트러스트 데이터베이스, pubring.gpg공개 키 및 secring.gpg비밀 키를 보유합니다 . 이에 대한 GnuPG 문서를 참조하십시오 .
— gertvdijk

28

나는 같은 문제에 부딪 쳤지 만 더 이상 이전 키에 액세스 할 수 없었습니다. 따라서 다음을 사용하여 이전 키에 대한 신뢰를 다시 만들 수 있습니다.

gpg --edit-key YOUR@KEY.ID
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

OP는 (의견에 언급 된)이 작업을 수행했지만 답변으로 언급하는 것이 좋습니다.
— muru

7

--always-trust플래그를 사용 하여이 메시지를 건너 뛸 수 있습니다 .


1
이것은 절대적으로 사실이지만 질병이 아닌 증상을 없애는 것입니다. 당신의 해결책은 암에
— 걸렸기

2
--always-trust좋은 솔루션입니다 경우에 따라서는 , 그러나 문제의 핵심은 실제로 사용자 자신의 키의 경우, 그것은 단지 궁극적 인 신뢰를 부여해야합니다.
— Blacklight Shining

4
내 질병은 프로그래밍 방식의 파일 암호화를 망쳐 놓고 소프트웨어를 설치하는 모든 VM에서 다른 방식으로 그렇게하는 GPG의 완고한 주장입니다.
— bbozo

@BlacklightShining에서 아직 확인할 수없는 경우 Evolution은 해당 주소로 메일을 암호화 할 수 없습니다. 텍스트를 누군가에게 암호화하는 데 절대적인 신뢰 가 필요한 이유는 전혀 없으며, 약간의 신뢰 만으로는 불가능합니다.
— Izzy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.