E.g. http://files.gpg4win.org/README-2.1.1.en.txt describes using OpenPGP cards that involves a lot of console work. IMHO this should be possible to do from the GUI. Operations I can think of and gpg commands that do it: These two I consider most important and could possibly be mapped to the existing netkey3 "learn card" option: Get public key for card -> gpg --card-edit, fetch (or possibly keyserver search alternatively) link public key to smartcard (that might be a case of GnuPG being stupid, but I had to do this after manually importing a card's public key) -> gpg --card-status More "advanced"/one-time commands: generate key on card -> gpg --card-edit, admin, generate Copy secret key to card -> gpg --edit-key, keytocard (more complex than that as it needs to select the correct sub-key(s) etc?) Set PIN -> gpg --card-edit, passwd Edit key information on the card -> gpg --card-edit, name, login, url, lang, sex Reproducible: Always
There is now Tools -> Manage Smartcards That supports Key generation (including backup), Pin setting, Setting the cardholder. Keytocard is available through the Subkey menu (Details -> More Details -> Right click on the subkey you want to move to card.) The fetch I also like to implement (as GPA provides this). Our current opinion is that lang / sex / login should be deprecated as they just hurt usability and don't have much value (both on the command line and in the UI). Name is used as "Nickname" for the card and is shown when pinentry asks you to insert a card. I'm keeping this open for the "fetch".