Apakah GnuPG 1 dan GnuPG 2 kompatibel satu sama lain?

83

Dengan Macports, saya menyadari bahwa ada port gnupgdan yang lebih baru gnupg2. Saya ingin menggunakan GnuPG untuk mengenkripsi file. Haruskah saya menginstal keduanya, atau hanya satu saja sudah cukup? Jika saya menginstal keduanya, apakah keduanya kompatibel satu sama lain? Apakah penting yang mana saya menginstal hal pertama?

qazwsx
sumber

Jawaban:

89

GnuPG 1

GnuPG 1.4 ("klasik") akan tetap untuk penggunaan tertanam dan server, karena membawa lebih sedikit dependensi dan biner yang lebih kecil. Sebelumnya, sering diinstal sebagai gpg, hari ini lebih sering dinamai gpg1(tergantung pada distribusi).

Dari halaman manual GnuPG 1.4:

Ini adalah versi mandiri dari gpg. Untuk penggunaan desktop, Anda harus mempertimbangkan untuk menggunakan gpg2dari paket GnuPG-2 (Pada beberapa platform gpg2diinstal dengan nama gpg)

GnuPG 2

GnuPG 2.0 adalah versi yang didesain ulang dari GnuPG - tetapi sebagian besar perubahan ada pada level internal. Versi yang lebih baru dibagi menjadi beberapa modul, misalnya ada juga modul untuk X.509 (digunakan oleh S / MIME).

Dari man gpg2:

Berbeda dengan gpg versi mandiri, yang lebih cocok untuk server dan platform tertanam, versi ini biasanya dipasang dengan nama gpg2dan lebih ditargetkan ke desktop karena memerlukan beberapa modul lain untuk diinstal.

GnuPG 2.1

Perubahan penting datang dengan GnuPG 2.1, yang menggabungkan keyrings publik dan swasta yang sebelumnya terpisah ( pubring.gpgvs secring.gpg) ke keyring publik. Ini telah diterapkan dengan cara menjaga hal-hal agar tetap kompatibel, sehingga Anda masih dapat menggunakan GnuPG 1 ketika GnuPG 2.1 mengintegrasikan kunci privat, tetapi perubahan pada kunci privat tidak akan muncul untuk implementasi lainnya yang terkait. Dari changelog :

[...] memungkinkan ko-eksistensi versi GnuPG yang lebih lama dengan GnuPG 2.1. Namun, perubahan apa pun pada kunci pribadi menggunakan gpg baru tidak akan muncul ketika menggunakan versi GnuPG pra-2.1 dan sebaliknya.


Untuk langsung menjawab pertanyaan Anda:

Haruskah saya menginstal keduanya, atau hanya satu saja sudah cukup? Apakah penting yang mana saya menginstal hal pertama?

Cukup instal keduanya. Mereka tidak ikut campur. Instal gpg(jika tidak tetap diinstal) untuk aplikasi lain yang mengaksesnya (seperti manajer paket, klien email, ...), dan gpg2untuk "penggunaan langsung" pada baris perintah.

Jika saya menginstal keduanya, apakah keduanya kompatibel satu sama lain?

Keduanya menerapkan protokol OpenPGP, sehingga keduanya kompatibel satu sama lain terkait data yang dibagikan di antara mereka. Selain itu, mereka (sebagian besar) menggunakan perintah dan opsi yang sama, sehingga sebagian besar waktu Anda dapat beralih di antara mereka secara sewenang-wenang.

GnuPG 2.1 membuat perubahan pada private keyring tidak terlihat oleh implementasi pra-GnuPG 2.1 (lihat di atas pada bagian GnuPG 2.1).

Jens Erat
sumber
1
gpg2sepertinya tidak melihat kunci pribadi yang gpgmelihatnya. Misalnya, gpg2 --list-secret-keystidak memberikan output, tetapi gpg --list-secret-keysmemberikan output.
Flimm
6
Inilah yang saya jelaskan dengan perbedaan penting antara GnuPG 2 dan 2.1: GnuPG 2.1 menyimpan kunci pribadi di file lain. Kunci pribadi Anda disimpan di GnuPG 1.4 secring.gpg, yang tidak dipertanyakan oleh GnuPG 2.1. Salin ke GnuPG 2.1 hingga gpg --export-secret-keys [key-id] | gpg2 --import.
Jens Erat
gpg2 sebenarnya secara otomatis mengimpor kunci gpg untuk saya (cygwin)
lucidbrot
4
Jawaban ini mungkin sedikit ketinggalan zaman. Pada Ubuntu 18.04 bionik gpgv1paket tersebut dideskripsikan sebagai "versi" klasik "usang" dan gpgv2digambarkan sebagai "paket transisi dummy." Menginstal gpgpaket polos memberikan gpg versi 2.2.4. Jadi tampaknya gpgv1 akan hilang dan gpgv2 (disebut sebagai "gpg") adalah standar baru.
Mark Doliner