Enkripsi dan tandatangani dengan kunci rahasia khusus

20

Saya memiliki kunci kartu pintar OpenPGP (YubiKey NEO) serta kunci rahasia lokal yang dipasang di keyring GnuPG saya.

Saya ingin mengenkripsi dan menandatangani file dengan kunci kartu saya, bukan kunci di keyring saya. Bagaimana saya bisa menentukan kunci apa yang ingin saya masuki?

Jika id kunci sistem file saya DEADBEEFdan kunci kartu pintar saya DEADBEE5, bagaimana cara saya menandatanganinya?

Naftuli Kay
sumber

Jawaban:

11

Anda harus menentukan --default-key:

gpg -s --default-key DEADBEE5 input > output

dan periksa setelahnya dengan

gpg -d < output | head -1

Dari gpg manhalaman ( --signbagian):

Kunci yang akan digunakan untuk penandatanganan dipilih secara default atau dapat diatur dengan opsi --local-user dan --default-key.

Anthon
sumber
gpg: conflicting commandsketika saya mencoba mengenkripsi dan menandatangani.
Naftuli Kay
@NaftuliTzviKay Maaf --sign-key adalah untuk menandatangani kunci lain dengan kunci tertentu. Saya memperbarui jawabannya (dan diuji sebelumnya kali ini).
Anthon
--default-*tidak masuk akal di baris perintah. Opsi ini untuk file konfigurasi.
Hauke ​​Laging
1
Perbedaan antara --local-userdan --default-keyitu --local-userakan memberikan kesalahan jika Anda menentukan kunci yang tidak ada. Dengan --default-key, itu akan mengabaikan kunci yang tidak ada dan menggunakan kunci pertama dalam keyring.
wisbucky
15

Kunci penandatanganan dipilih dengan -u/ --local-user:

gpg --local-user 0xDEADBEE5 --sign file

Opsi ini dapat diberikan beberapa kali untuk menggabungkan tanda tangan dari beberapa kunci:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Hauke ​​Laging
sumber
Menurut halaman manual menggunakan --local-usersama dengan menggunakan --default-userseperti dalam jawaban saya
Anthon
1
@Anthon Ini mengarah ke hasil yang sama. Itu tidak berarti bahwa --default-*harus direkomendasikan untuk penggunaan ini. Saya telah berada di milis GnuPG selama bertahun-tahun. Saya belum pernah melihat yang seperti itu sebelumnya.
Hauke ​​Laging
Well yeah, sepertinya masalah ini muncul sekali pada gnupg-pengguna dan bahwa Anda mana yang memberikan jawabannya dengan Anda membaca halaman manual ;-). Bagi saya menentukan opsi dengan -keynamanya terasa jauh lebih tepat ketika saya ingin menggunakan kunci tertentu daripada menentukan sesuatu dengan -userYMMV.
Anthon
4
Saya pikir @Anthon dimaksudkan --default-keydalam komentarnya di atas. Berjalan dengan itu, satu perbedaan antara --local-userdan --default-keydalam pengalaman saya, adalah bahwa yang pertama gagal jika kunci yang cocok tidak ada, sedangkan yang kedua akan kembali ke kunci lain. Untuk alasan itu, saya akan sangat berhati-hati memasukkan --default-keyskrip.
Jack O'Connor
Saya menguji dan mengkonfirmasi komentar @ JackO'Connor dengan gpg 2.2.4. Pria itu --default-keymengatakanIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
wisbucky