Pakette nasıl devam edilir. İmza imzası hatası


34

Sadece ascii-art-to-unicodegnu deposundan ( http://elpa.gnu.org/ ) üzerinden yüklemeyi denedim list-packages. Aşağıdaki hatayı alıyorum:

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")

Paketlerimi yönetmek için fıçı / palet kullanıyorum; Kaçırdığım bir kurulum var mı? Elpa'da yakın zamanda yapılan bazı değişiklikler?

Bir emacs 24.4 ön sürüm kullanıyorum.


1
Bugün elpa gelen org-mode güncelleme benzer bir sorun vardı (gerçi package.el kullandım). Sunucularında geçici bir sorun olabilir.
Malabarba

Yanıtlar:


16
  1. set package-check-signatureiçin nil, örneğinM-: (setq package-check-signature nil) RET
  2. paketi indirin gnu-elpa-keyring-updateve işlevi aynı adla çalıştırın, örn M-x package-install RET gnu-elpa-keyring-update RET.
  3. package-check-signaturevarsayılan değeri 'allow-unsigned` olarak sıfırla

Bu benim için çalıştı.


2
İşlevi açıkça çalıştırmak gerekli olmamalıdır: Paketin yüklenmesi yeterli olmalıdır çünkü işlevi sizin için otomatik olarak çalıştırmalıdır.
Stefan

Ahh Tamam. Şimdi çalıştığını test etmek zor, ama bence haklısın.
joe_maya

14

FWIW - Bu sorunu org-20140407.tar.sig imzasıyla yaşadım. Gibi Sigma'nın paket check-imza / idi allow-imzasız .

Değiştim paket check-imza değer nil ve problem çözüldü.


Teşekkürler! Asla "imzasız" izin anlamına gelmez anlamına gelmez ...
avp

2
Nil olarak ayarlarsanız, elpa.gnu.orgdepoya HTTPS üzerinden eriştiğinizden emin olun , aksi takdirde kendinizi kolay güvenlik saldırılarına açarsınız.
Stefan

10

Paketi yüklemeye çalışırsanız gnu-elpa-keyring-update(paket yöneticisi tarafından kullanılan anahtarları güncelleme amacına sahip gibi görünüyorsa) açıklamasında şunları yapabileceğinizi göreceksiniz:

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

yeni tuşları elle almak için komut satırında. Doğru anahtarı istediğinizden emin olmak için ( 066DAFCB81E42C40yukarıdaki örnekte), herhangi bir paketi yüklemeye çalıştığınızda emacs'ın size verdiği hata mesajını kontrol edin.


4

Bu paketi imzalamak için kullanılan anahtarın (474F05837FBDEF9B) gerçekten yayınlanmadığı anlaşılmaktadır (bu nedenle imzalanamaz, bu nedenle güvenilir olamaz). Ancak bu durumda package.el'in (şimdilik) zarif bir şekilde başarısız olması gerekiyor gibi görünüyor:

;; 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))

Neden herhangi bir nedenle değeri package-check-signaturevarsayılan değeri farklı olup olmadığını merak ediyorum allow-unsigned?


package-check-signatureolduğu allow-unsigned; epg-signature-status- hmm bırakır .
Tom Regner

sig=[cl-struct-epg-signature bad 474F05837FBDEF9B nil nil nil nil nil nil nil nil nil] status=bad- sorunun hala devam ettiğini unutmayın.
sds

allow-unsignedimzalanan ancak imzası doğrulayamadığınız paketlerin aksine, imzalanmamış paketlerin yüklenmesine izin vermek anlamına gelir. Bu, paketlerini imzalamayan ELPA arşivlerinden yükleyebilmeniz için kullanılır (MELPA, son kontrol ettiğim gibiydi).
Stefan

1

Alternatif olarak, örneğin Ubuntu'da daha yeni bir emac'e yükseltebilirsiniz:

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

1

ile puglic anahtarını alın:

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

Dikkat: sürümünüz farklı bir anahtar olabilir!



0

Varsayılan yerine ayarlanması package-check-signaturebunu benim için düzeltti. nilallow-unsigned

Fedora 29, GNU Emacs 26.2 (yapı 1, x86_64-redhat-linux-gnu, GTK + Sürüm 3.24.8) 2019-04-30

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.