diff --git a/ykman/_cli/config.py b/ykman/_cli/config.py index d31527c4..81092a16 100644 --- a/ykman/_cli/config.py +++ b/ykman/_cli/config.py @@ -122,6 +122,10 @@ def reset(ctx, force): This action will wipe all data and restore factory settings for all applications on the YubiKey. """ + dev = ctx.obj["device"] + if not dev.supports_connection(SmartCardConnection): + raise CliFail("Full device reset requires the CCID interface to be enabled.") + info = ctx.obj["info"] # reset_blocked is a sure indicator of the command if not info.reset_blocked: diff --git a/ykman/_cli/openpgp.py b/ykman/_cli/openpgp.py index c3eef12a..80e38e66 100644 --- a/ykman/_cli/openpgp.py +++ b/ykman/_cli/openpgp.py @@ -191,8 +191,8 @@ def change_pin(ctx, pin, new_pin): """ Change the User PIN. - The PIN has a minimum length of 6, and supports any type of - alphanumeric characters. + The PIN has a minimum length of 6 (or 8, for YubiKey 5.7+ FIPS when not using KDF), + and supports any type of alphanumeric characters. """ session = ctx.obj["session"] diff --git a/ykman/_cli/piv.py b/ykman/_cli/piv.py index 2e0311db..5670728a 100644 --- a/ykman/_cli/piv.py +++ b/ykman/_cli/piv.py @@ -237,7 +237,7 @@ def reset(ctx, force): info = ctx.obj["info"] if CAPABILITY.PIV in info.reset_blocked: raise CliFail( - "Cannot perform PIV reset when biometrics are configured, " + "Cannot perform PIV reset when FIDO is configured, " "use 'ykman config reset' for full factory reset." )