Gpg neden sinirleniyor ve onu nasıl durdurabilirim?


24

Geçenlerde bir Ubuntu kurulumundan diğerine geçtim ve bu süreçte kullanıcı adımı değiştirdim. Herkese açık / özel anahtar çiftimi gpg'ye aktardım ve şifre çözme (özel anahtarımı kullanarak) iyi çalışıyor, ne zaman kendime bir şeyi ortak anahtarımla şifrelemeye çalışırsam aşağıdaki uyarı mesajını alıyorum:

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Ondan sonra anahtarı gerçekten kullanmak isteyip istemediğimi soruyor (her zaman "evet" cevabını veririm, çünkü aslında anahtarlığımdaki tek anahtar ve nereden geldiğini biliyorum). Bir şeyleri şifreleyebiliyorum, öyleyse neden gpg bir şeyi şifrelemeye çalıştığımda neden uygun bir şeyler atıyor? Ve bu mesajın tekrar görünmesini nasıl önleyebilirim?


Stackoverflow yardımında bu eski sorunun herhangi bir yanıtı var mı ?: stackoverflow.com/q/9460140/2422988
Paul

@ Paul, evet, bu bağlantı biraz yardımcı oldu. Anahtarımın "güven" seviyesini nihai olarak belirledim ve bu sorunu çözmüş görünüyor. Ama ne oldu sorun? Bu neden oldu ve ben bunu düzelttim mi ya da sadece semptomları azalttım mı?
fouric

Maalesef, InkBlend, arama sonuçlarını gözden geçirme ve karşılaştırma yeteneğimin, bu durumda pgp hakkındaki bilgilerimin üzerine çıkmasından korkuyor, bu nedenle bunu Cevap olarak iddia etme girişimim yok. Yine de Garrett neler olduğunu biliyor gibiydi.
Paul,

Yanıtlar:


16

Karşılaştığınız sorunu yeniden yaratmayı başardım. Bunu aşağıdakileri yaparak yaptım:

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

İşlemin anahtarı "nihayetinde güvenilen" olarak işaretlediğine dikkat edin.

Şimdi anahtarları vereceğim:

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

Şimdi yeni bir gpg veritabanına aktarıyorum:

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

Şimdi yeni anahtarlıkları kullanarak şifrelemeye çalışırsam alıyorum:

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <fake@example.com>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Bunun nedeni “güven ağı” modelidir. Varsayılan olarak, bir genel anahtarın güvenilir olması için 1 "nihai" güven sertifikası (genellikle ilgili kişilerin kimliklerini kişisel olarak doğruladığınız yerde) veya 3 "marjinal" güven sertifikası (bildiğiniz birinin bulunduğu yerde) gerekir Bildiğiniz birini tanıyan ... sertifikayı imzaladı).

Gpg bir güvenlik uygulaması olduğundan, güvenilir olarak listelenmeyen bir anahtara şifrelemeye çalışıyorsanız sizi uyarır. Bu durumda kendi anahtarınızın güvenilmemesinin nedeni basit. Bunun nedeni, güven ilişkilerini önceki gpg örneğinden vermemenizdir. Bunu yapmak için --export-ownertrust ve --import-ownertrust komutlarını kullanın.

Her zaman olduğu gibi man sayfasına bakın .


1
Önemli olan, anahtar güven hakkındaki tüm verilerin anahtarlıktan ayrı depolanmasıdır (hem gizli hem de halka açık)! ~/.gnupg/trustdb.gpggüven veritabanını, pubring.gpggenel anahtarları ve secring.gpggizli anahtarları tutar. Lütfen bu konudaki GnuPG belgesine bakınız .
gertvdijk

28

Aynı konuya girdim ancak eski anahtara artık erişemedim. Böylece eski anahtarınıza duyduğunuz güveni şununla yeniden yaratabilirsiniz:

gpg --edit-key YOUR@KEY.ID
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

OP bunu yaptı (yorumlarda belirtildi), ancak cevap olarak belirtilmesi iyi oldu.
muru

7

--always-trustBu mesajı atlamak için bayrağı kullanabilirsiniz .


1
Bu kesinlikle doğru, ama bu sadece hastalıkları değil semptomları ortadan kaldırıyor. Çözümün aspirin almak gibi bir şey çünkü kanserin var ...
Fabby

2
--always-trustBazı durumlarda iyi bir çözümdür , ancak söz konusu anahtar gerçekten kullanıcının kendi anahtarıysa, o zaman sadece nihai güven verilmelidir.
Blacklight Shining

4
Hastalığım, GPG'nin, programlı dosya şifrelememi lanetleyen bir anahtarlıkta inatçı ısrarı ve yazılımı kurduğum her VM'de farklı şekillerde yapmasıdır.
bbozo

@BlacklightShining ve henüz bunu doğrulayamadıysam, Evolution postaları bu adrese şifrelemek için izin vermiyor. Bir metni birilerine şifrelemek neden mutlak bir güven gerektiriyor - ve sadece marjinal bir güvene sahip olmak mümkün değil.
Izzy
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.