aboutsummaryrefslogtreecommitdiffstats
path: root/g10/card-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/card-util.c')
-rw-r--r--g10/card-util.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/g10/card-util.c b/g10/card-util.c
index d78e9bd8e..2aa9c3f28 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -1498,9 +1498,6 @@ generate_card_keys (ctrl_t ctrl)
tty_printf ("\n");
}
- if (check_pin_for_key_operation (&info, &forced_chv1))
- goto leave;
-
/* If the cards features changeable key attributes, we ask for the
key size. */
if (info.is_v2 && info.extcap.aac)
@@ -1533,6 +1530,9 @@ generate_card_keys (ctrl_t ctrl)
the serialnumber and thus it won't harm. */
}
+ if (check_pin_for_key_operation (&info, &forced_chv1))
+ goto leave;
+
generate_keypair (ctrl, 1, NULL, info.serialno, want_backup);
leave:
@@ -1587,10 +1587,6 @@ card_generate_subkey (ctrl_t ctrl, kbnode_t pub_keyblock)
goto leave;
}
- err = check_pin_for_key_operation (&info, &forced_chv1);
- if (err)
- goto leave;
-
/* If the cards features changeable key attributes, we ask for the
key size. */
if (info.is_v2 && info.extcap.aac)
@@ -1621,6 +1617,10 @@ card_generate_subkey (ctrl_t ctrl, kbnode_t pub_keyblock)
the serialnumber and thus it won't harm. */
}
+ err = check_pin_for_key_operation (&info, &forced_chv1);
+ if (err)
+ goto leave;
+
err = generate_card_subkeypair (ctrl, pub_keyblock, keyno, info.serialno);
leave: