package.el 서명 확인 실패를 진행하는 방법


31

방금 ascii-art-to-unicodegnu 저장소 ( http://elpa.gnu.org/ ) 에서 설치하려고했습니다 list-packages. 다음과 같은 오류가 발생합니다.

package--check-signature: Failed to verify signature 
   ascii-art-to-unicode-1.9.el.sig: ("No public key 
   for 474F05837FBDEF9B created at 2014-09-24T16:20:01+0200 
   using DSA")

패키지를 관리하기 위해 cask / pallet을 사용하고 있습니다. 내가 놓친 설정이 있습니까? 엘파에 대한 최근의 변화?

emacs 24.4 시험판을 사용하고 있습니다.


1
오늘 elpa에서 org-mode를 업데이트하는 비슷한 문제가있었습니다 (package.el을 사용했지만). 서버에 일시적인 문제 일 수 있습니다.
Malabarba

답변:


13
  1. 설정 package-check-signaturenil
  2. 패키지를 다운로드하고 gnu-elpa-keyring-update같은 이름으로 기능을 실행하십시오.
  3. package-check-signature기본값 '허용되지 않음'으로 재설정

이것은 나를 위해 일했습니다.


2
기능을 명시 적으로 실행할 필요는 없습니다. 패키지를 설치하면 충분하며 자동으로 기능을 실행해야합니다.
Stefan

알았어 작동하기 때문에 테스트하기가 어렵지만, 당신이 옳다고 생각합니다.
joe_maya

14

FWIW-서명 org-20140407.tar.sig에서이 문제가 발생했습니다. Sigma의 package-check-signature 와 마찬가지로 is / was allow-unsigned 입니다.

나는 변경된 패키지 체크인 서명 에 가치를 전무 하고 문제가 해결되었습니다.


감사! 나는 "서명하지 않은"이 의미하는 바를 의미하지 않는다고 생각하지 않을 것이다.
avp

2
nil로 설정하면 elpa.gnu.orgHTTPS를 통해 리포지토리에 액세스해야 합니다. 그렇지 않으면 쉽게 보안 공격을받을 수 있습니다.
Stefan

8

패키지를 설치하려고하면 gnu-elpa-keyring-update(패키지 관리자가 사용하는 키를 업데이트 할 목적으로), 설명에서 수행 할 수있는 작업을 볼 수 있습니다.

gpg --homedir ~/.emacs.d/elpa/gnupg --receive-keys 066DAFCB81E42C40

명령 행에서 새 키를 수동으로 가져옵니다. 066DAFCB81E42C40위의 예에서 올바른 키를 요구하는지 확인하려면 패키지를 설치할 때 emacs가 제공하는 오류 메시지를 확인하십시오.


4

이 패키지에 서명하는 데 사용 된 키 (474F05837FBDEF9B)가 실제로 게시되지 않았으므로 서명 할 수 없으므로 신뢰할 수 없습니다. 그러나 그런 경우 package.el은 (현재로서는) 정상적으로 실패하는 것으로 보입니다.

;; If package-check-signature is allow-unsigned, don't
;; signal error when we can't verify signature because of
;; missing public key.  Other errors are still treated as
;; fatal (bug#17625).
(unless (and (eq package-check-signature 'allow-unsigned)
             (eq (epg-signature-status sig) 'no-pubkey))
  (setq had-fatal-error t))

어떤 이유로 든 귀하의 가치 package-check-signature가 기본값 인 allow-unsigned? 와 다른지 궁금합니다 .


package-check-signature이다 allow-unsigned; 그게 epg-signature-status-흠.
Tom Regner

sig=[cl-struct-epg-signature bad 474F05837FBDEF9B nil nil nil nil nil nil nil nil nil] status=bad-문제는 여전히 존재합니다.
sds

allow-unsigned서명되었지만 서명을 확인할 수없는 패키지와 달리 서명되지 않은 패키지를 설치할 수 있음을 의미합니다. 이것은 패키지에 서명하지 않은 ELPA 아카이브에서 설치할 수 있도록 사용됩니다 (MELPA는 마지막으로 확인한 시간과 같았습니다).
Stefan

1

또는 Ubuntu와 같은 최신 emacs로 업그레이드 할 수 있습니다.

sudo add-apt-repository ppa:ubuntu-elisp/ppa
sudo apt-get update
sudo apt-get install emacs-snapshot

1

다음과 같이 puglic 키를 얻으십시오.

gpg2 --homedir ~/.emacs.d/elpa/gnupg --receive-keys 066DAFCB81E42C40

주의 : 버전이 다른 키일 수 있습니다!



0

기본값 대신 설정 package-check-signature하면 이 문제가 해결되었습니다. nilallow-unsigned

2019-04-30의 Fedora 29, GNU Emacs 26.2 (빌드 1, x86_64-redhat-linux-gnu, GTK + 버전 3.24.8)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.