diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c index b0ecb9243..e8a81f587 100644 --- a/scd/app-openpgp.c +++ b/scd/app-openpgp.c @@ -1756,6 +1756,12 @@ get_public_key (app_t app, int keyno) 2, le_value, &buffer, &buflen); if (err) { + /* Yubikey returns wrong code. Fix it up. */ + /* + * NOTE: It's not correct to blindly change the error code, + * however, for our experiences, it is only Yubikey... + */ + err = gpg_error (GPG_ERR_NO_OBJ); log_error (_("reading public key failed: %s\n"), gpg_strerror (err)); goto leave; }