gpg: sec 및 pub 키가 키링에 있는 경우 "키를 사용할 수 없음"

gpg: sec 및 pub 키가 키링에 있는 경우 "키를 사용할 수 없음"

내가 생성한 공개 키로 암호화된 파일을 받았지만 해독할 수 없습니다.

속도:

  1. gpg --gen-key기본 옵션
  2. gpg --export -a <email> > pub.key
  3. pub.key가 전송되었습니다.
  4. 암호화된 파일 받기
  5. cat <file> | gpg

실수:

$ cat cred.gpg | gpg
gpg: key 71980D35: secret key without public key - skipped
gpg: encrypted with RSA key, ID 0D54A10A
gpg: decryption failed: secret key not available

그러나 키는 내 키링에 존재하며, 이 키에서 생성한 공개 키는 동료에게 보낸 pub.key의 지문과 일치합니다.

$ gpg --list-secret-keys 
/home/jcope/.gnupg/secring.gpg
------------------------------
sec   2048R/71980D35 2016-03-04
uid                  me <email>
ssb   2048R/0D54A10A 2016-03-04

지문 확인

    $ gpg --with-fingerprint pub.key 
    pub  2048R/AF0A97C5 2016-03-04 me <email>
          Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5
    sub  2048R/1103CA7C 2016-03-04
$ gpg --fingerprint | grep 17a4 -i
      Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5

저는 gpg의 초보자인데 왜 이것이 작동하지 않는지 모르겠습니다. 가장 표준적인 작업인 것 같습니다.

답변1

오류 메시지를 참고하세요. 키가 분실되었다는 내용이 아니라 공개 키가 분실되었다는 내용입니다.

gpg: key 71980D35:공개키가 없는 비밀키- skipped

RSA에서 일부 숫자(d, p, q, u)는 비공개이고 다른 숫자(n, e)는 공개입니다. 암호화 및 서명 확인에는 2개의 공개 계정만 필요하고, 복호화 및 서명에는 6개의 숫자가 모두 필요합니다. 따라서 이후 작업에는 실제로 비밀 키와 공개 키가 필요합니다.

공개키가 실수로 삭제되었나요 pubring?

공개 키를 다시 가져올 수 있습니다. 공개 키는 널리 배포된 키이므로 복사본을 쉽게 다시 얻을 수 있습니다.

관련 정보