Ik heb een OpenPGP smartcard-sleutel (YubiKey NEO) en een lokale geheime sleutel geïnstalleerd in mijn GnuPG-sleutelring.
Ik “wil een bestand graag versleutelen en ondertekenen met de sleutel van mijn kaart, niet met de sleutel in mijn sleutelhanger. Hoe kan ik specificeren met welke sleutel ik “wil ondertekenen?
Als de geheime sleutel-id van mijn bestandssysteem DEADBEEF
is en mijn smartcard-sleutel DEADBEE5
, hoe teken ik met die sleutel?
Antwoord
U moet --default-key
:
gpg -s --default-key DEADBEE5 input > output
en controleer daarna met
gpg -d < output | head -1
Van de gpg man
pagina (--sign
sectie):
De te gebruiken sleutel voor ondertekening wordt standaard gekozen of kan worden ingesteld met de –local-user en –default-key opties.
Opmerkingen
Antwoord
De ondertekeningssleutel is geselecteerd met -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Deze optie kan meerdere keren worden gegeven om handtekeningen van verschillende sleutels te combineren:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Opmerkingen
- Volgens de man-pagina is het gebruik van
--local-user
hetzelfde als het gebruik van--default-user
als in mijn antwoord - @Anthon Het leidt tot hetzelfde resultaat. Dat betekent niet ' t dat
--default-*
moet worden aanbevolen voor dit gebruik. Ik sta al jaren op de GnuPG-mailinglijst. Ik heb zoiets nog nooit eerder gezien. - Nou ja, het lijkt erop dat het probleem zich een keer heeft voorgedaan bij gnupg-gebruikers en dat jij degene was die het antwoord gaf met jouw lezing van de man-pagina ;-). Voor mij voelt het specificeren van een optie met
-key
in de naam veel passender wanneer ik een specifieke sleutel wil gebruiken dan iets specificeren met-user
YMMV . - Ik denk dat @Anthon
--default-key
bedoelde in zijn opmerking hierboven. Als ik daarmee bezig ben, is een verschil tussen--local-user
en--default-key
in mijn ervaring dat de eerste mislukt als een overeenkomende sleutel niet ' t aanwezig, terwijl de tweede terugvalt op andere toetsen. Om die reden zou ik ' erg op mijn hoede zijn om--default-key
in scripts te plaatsen. - Ik heb @ getest en bevestigd JackO ' Connor ' s commentaar met gpg 2.2.4. De man voor
--default-key
zegtIf 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.
gpg: conflicting commands
wanneer ik probeer te coderen en ondertekenen.--default-*
heeft weinig zin op de opdrachtregel. Deze opties zijn voor het configuratiebestand.--local-user
en--default-key
is dat--local-user
geeft een foutmelding als u een niet-bestaande sleutel opgeeft. Met--default-key
, zal het een niet-bestaande sleutel negeren en de eerste sleutel in de sleutelring gebruiken.