Як діяти на зборі перевірки підпису package.el


34

Я щойно спробував встановити ascii-art-to-unicodeз репозиторію gnu ( 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")

Я використовую скриньку / піддон для управління своїми пакунками; Чи є якась настройка, яку я пропустив? Деякі останні зміни до elpa?

Я використовую попередній реліз emacs 24.4.


1
У мене була подібна проблема сьогодні з оновленням org-mode від elpa (хоча я використовував package.el). Це може бути тимчасовою проблемою з їх серверами.
Малабарба,

Відповіді:


16
  1. набір package-check-signatureдля nil, наприклад ,M-: (setq package-check-signature nil) RET
  2. завантажте пакет gnu-elpa-keyring-updateі запустіть функцію з однойменною назвою, наприклад M-x package-install RET gnu-elpa-keyring-update RET.
  3. скинути package-check-signatureдо значення за замовчуванням "дозволити без підпису"

Це працювало для мене.


2
Явно не потрібно виконувати функцію: установка пакету повинна бути достатньою, оскільки вона повинна запускати функцію для вас автоматично.
Стефан

Ах гаразд. Зараз важко перевірити, що це працює, але я думаю, ти маєш рацію.
joe_maya

14

FWIW - У мене був цей випуск з підписом org-20140407.tar.sig. Як і підпис підписи Sigma- пакета є / був дозволений без підпису .

Я змінив значення пакета-перевірки підпису на нульове і проблема була вирішена.


Спасибі! Я б ніколи не здогадатися , що «вирішити-беззнаковое» не означає , що це має означати ...
AVP

2
Якщо ви встановите його на нуль, переконайтеся, що ви отримуєте доступ до elpa.gnu.orgсховища через HTTPS, інакше ви відкриваєтеся для легких атак безпеки.
Стефан

10

Якщо ви спробуєте встановити пакет 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- хм.
Том Регнер

sig=[cl-struct-epg-signature bad 474F05837FBDEF9B nil nil nil nil nil nil nil nil nil] status=bad- зауважте, що проблема все ще існує.
sds

allow-unsignedозначає дозволити встановлення пакетів, які не підписані, на відміну від пакетів, які підписані, але підпис яких ви не зможете перевірити. Це використовується, щоб ви могли встановити з архівів ELPA, які не підписують свої пакунки (MELPA був таким, як я востаннє перевіряв).
Стефан

1

Крім того, ви можете оновити до новіших emacs, наприклад, на Ubuntu:

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

1

дістаньте простотичний ключ за допомогою:

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

Увага: Ваша версія може бути іншим ключем!



0

Установка package-check-signatureдля nilзамість значення за замовчуванням allow-unsignedце виправив для мене.

Fedora 29, GNU Emacs 26.2 (збірка 1, x86_64-redhat-linux-gnu, GTK + версія 3.24.8) 2019-04-30

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.