From 11f1e60e6fbc72b9bbecbcf4f2060a77798559a7 Mon Sep 17 00:00:00 2001 From: djm Date: Wed, 4 Jun 2003 09:22:06 +0000 Subject: [PATCH] - (djm) Bug #584: scard-opensc.c doesn't work without PIN. Patch from larsch@trustcenter.de; ok markus@ --- ChangeLog | 4 +++- scard-opensc.c | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4a9ea2fc..205a182f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,9 @@ - (djm) Bug #573 - Remove unneeded Krb headers and compat goop. Patch from simon@sxw.org.uk (Also matches a change in OpenBSD a while ago) - (djm) Bug #577 - wrong flag in scard-opensc.c sc_private_decrypt. - ok markus@ + Patch from larsch@trustcenter.de; ok markus@ + - (djm) Bug #584: scard-opensc.c doesn't work without PIN. Patch from + larsch@trustcenter.de; ok markus@ 20030603 - (djm) Replace setproctitle replacement with code derived from diff --git a/scard-opensc.c b/scard-opensc.c index 31225182..2055ee22 100644 --- a/scard-opensc.c +++ b/scard-opensc.c @@ -133,7 +133,11 @@ sc_prkey_op_init(RSA *rsa, struct sc_pkcs15_object **key_obj_out) key = key_obj->data; r = sc_pkcs15_find_pin_by_auth_id(p15card, &key_obj->auth_id, &pin_obj); - if (r) { + if (r == SC_ERROR_OBJECT_NOT_FOUND) { + /* no pin required */ + *key_obj_out = key_obj; + return 0; + } else if (r) { error("Unable to find PIN object from SmartCard: %s", sc_strerror(r)); goto err; -- 2.45.1