`gpg --recv-keys`는 작동하지만 `auto-key-retrieve`는 작동하지 않습니다.

`gpg --recv-keys`는 작동하지만 `auto-key-retrieve`는 작동하지 않습니다.

파일을 확인하려고 합니다.

https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86_64-108.4.453.tar.gz

여기에 제공된 서명을 사용하십시오.

https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86_64-108.4.453.tar.gz.asc

다음 명령을 사용하고 있습니다.

gpg --verify dropbox-lnx.x86_64-108.4.453.tar.gz.asc

그러면 다음과 같은 출력이 생성됩니다.

gpg: assuming signed data in 'dropbox-lnx.x86_64-108.4.453.tar.gz'
gpg: Signature made Tue 20 Oct 2020 10:53:17 PM CEST
gpg:                using RSA key FC918B335044912E
gpg: Can't check signature: No public key

내 GPG 구성은 ~/.gnupg/gpg.conf다음과 같습니다.

keyserver keyserver.ubuntu.com
auto-key-retrieve

요점은 auto-key-retrieve다음과 같이 작동한다는 것입니다. 관련 공개 키가 없었음에도 불구하고 파일이 확인 과정에서 예상대로 검색되었습니다.

gpg --search-keys FC918B335044912E또한 내가 사용하고 있는 키 서버에서 해당 키를 찾을 수 있음도 표시됩니다. 나도 할 수 있고 gpg --recv-keys나중에 확인이 분명히 작동합니다.

내 질문, 이는 아마도 작업에 대한 오해에서 비롯된 것 같습니다 gpg. 문제의 키를 수동으로 얻을 수 있지만 auto-key-retrieve다른 키와 함께 작동한다는 것을 알고 있음에도 불구하고 자동으로 얻을 수 없는 이유는 무엇입니까?

답변1

좀 더 심층적인 조사를 한 후에 이제 나는 이 질문에 적어도 부분적으로나마 스스로 답할 수 있다고 생각합니다. 물론 추가 정보도 환영합니다. :)

그 이유는 주어진 서명에 키의 지문이 포함되어 있지 않고 키 ID만 포함되어 있기 때문일 수 있습니다. 예를 들어 를 사용하여 이를 볼 수 있습니다 gpg --list-packets. 문제의 서명에 대해 귀하는

:signature packet: algo 1, keyid FC918B335044912E
    version 4, created 1603227197, md5len 0, sigclass 0x00
    digest algo 8, begin of digest fd b9
    hashed subpkt 2 len 4 (sig created 2020-10-20)
    subpkt 16 len 8 (issuer key ID FC918B335044912E)
    data: [2046 bits]

또 다른 유효한 서명의 경우 auto-key-retrieve다음과 같습니다.

:signature packet: algo 1, keyid BCAA30EA9C0D5763
    version 4, created 1543944543, md5len 0, sigclass 0x00
    digest algo 10, begin of digest 84 51
    hashed subpkt 33 len 21 (issuer fpr v4 1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763)
    hashed subpkt 2 len 4 (sig created 2018-12-04)
    subpkt 16 len 8 (issuer key ID BCAA30EA9C0D5763)
    data: [2046 bits]

선을 강조하다

    hashed subpkt 33 len 21 (issuer fpr v4 1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763)

man gpg다음에 관한 섹션에 명확하게 명시되어 있습니다 auto-key-retrieve.

키를 찾는 방법의 순서는 다음과 같습니다.

[...]

  1. 키 서버가 구성된 경우발급자 지문은 서명의 일부입니다(GnuPG 2.1.16부터)., 키 서버를 구성하려고 합니다.

(강조합니다.)

--recv-keys반면 검색은 키 ID로도 수행됩니다.


참고 사항: Dropbox 키에 지문이 없다는 점이 이상합니다. 키 ID 조회를 삭제하는 이유 중 일부는 다음과 같습니다.이번에 제출하세요2019-07-05 부터 이렇습니다비록 그렇다 하더라도지문은 기본적으로 서명에 포함되어 있는 것으로 보입니다.오랫동안. Dropbox 서명 날짜는 2020년 10월 20일입니다. 해보자, 드롭박스! xP

관련 정보