1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

scd: Allow standard keyref scheme for app-openpgp.

* scd/app-openpgp.c (do_change_pin): Allow prefixing the CHVNO with
"OPENPGP."
* tools/card-call-scd.c (scd_change_pin): Change API to use strings.
* tools/gpg-card-tool.c (cmd_passwd): Adjust for change.
(cmd_unblock): Ditto.
--

The generic keyref allows for better error detection in case a keyref
is send to a wrong card.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2019-02-05 14:48:49 +01:00
parent 1c0fa3e6f7
commit 3231ecdafd
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
6 changed files with 26 additions and 17 deletions

View file

@ -1865,7 +1865,7 @@ cmd_passwd (card_info_t info, int allow_admin)
if (!allow_admin)
{
err = scd_change_pin (1);
err = scd_change_pin ("OPENPGP.1", 0);
if (err)
goto leave;
log_info ("PIN changed.\n");
@ -1896,7 +1896,7 @@ cmd_passwd (card_info_t info, int allow_admin)
if (*answer == '1')
{
/* Change PIN (same as the direct thing in non-admin mode). */
err = scd_change_pin (1);
err = scd_change_pin ("OPENPGP.1", 0);
if (err)
log_error ("Error changing the PIN: %s\n", gpg_strerror (err));
else
@ -1905,7 +1905,7 @@ cmd_passwd (card_info_t info, int allow_admin)
else if (*answer == '2')
{
/* Unblock PIN by setting a new PIN. */
err = scd_change_pin (101);
err = scd_change_pin ("OPENPGP.1", 1);
if (err)
log_error ("Error unblocking the PIN: %s\n", gpg_strerror(err));
else
@ -1914,7 +1914,7 @@ cmd_passwd (card_info_t info, int allow_admin)
else if (*answer == '3')
{
/* Change Admin PIN. */
err = scd_change_pin (3);
err = scd_change_pin ("OPENPGP.3", 0);
if (err)
log_error ("Error changing the PIN: %s\n", gpg_strerror (err));
else
@ -1923,7 +1923,7 @@ cmd_passwd (card_info_t info, int allow_admin)
else if (*answer == '4')
{
/* Set a new Reset Code. */
err = scd_change_pin (102);
err = scd_change_pin ("OPENPGP.2", 1);
if (err)
log_error ("Error setting the Reset Code: %s\n",
gpg_strerror (err));
@ -1969,7 +1969,7 @@ cmd_unblock (card_info_t info)
log_error (_("Reset Code not or not anymore available\n"));
else if (info->apptype == APP_TYPE_OPENPGP)
{
err = scd_change_pin (2);
err = scd_change_pin ("OPENPGP.2", 0);
if (!err)
log_info ("PIN changed.\n");
}