Package: secrets
Version: 9.6-2
Severity: normal
X-Debbugs-CC: pykc...@packages.debian.org
Control: found -1 10.1-1

Hi,

While fooling around with Secrets and trying to open a password-protected 
database, I thought I'd push the refresh arrow on the smartcard list just to be 
silly. To my surprise, Secrets crashed:

src/dyn_unix.c:34:SYS_dyn_LoadLibrary() 
/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so: cannot open shared object file: No 
such file or directory
16-12-24 02:30:09 | WARNING | Could not load pkcs11 library: Load 
(/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gsecrets/provider/pkcs11_provider.py", 
line 158, in pkcs11_refresh
    self._pkcs11.load(const.PKCS11_LIB)
  File "/usr/lib/python3/dist-packages/PyKCS11/__init__.py", line 481, in load
    raise PyKCS11Error(rv, pkcs11dll_filename)
PyKCS11.PyKCS11Error: Load (/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gsecrets/provider/pkcs11_provider.py", 
line 161, in pkcs11_refresh
    task.return_error(err)

There's a few things going on it seems. For some reason it tries to find 
OpenSC's PKCS #11 module, but I don't have it installed and I wonder why it's 
trying to look for it in the first place? The appeal of PKCS #11 is you can use 
any module you want according to your needs. I use Scute to do PKCS #11 
operations using GnuPG's tools, and GNOME Keyring also (at least at one time?) 
also had a PKCS #11 module. OpenSC is definitely one of the more popular ones 
and it supports a wide variety of security modules, but I wonder where it's 
hard-coded that it should be tried in the first place?

There's been a few initiatives within the GnuTLS, GNOME, and FreeDesktop.org 
ecosystems to make shims and things to make finding modules easier, so it seems 
especially strange it's not smart here. I'm sure if I install opensc-pkcs11 
then the crash may not happen, but this should probably not be made a Depends 
or Recommends. Installing extraneous PKCS #11 modules increases the odds an 
application will try the wrong ones or keep exclusive access to cards. The 
whole point of PKCS #11 is that modules are swappable to accommodate different 
kinds of key stores and Secrets really shouldn't have any reason to want OpenSC 
in particular.

This could be an issue in pykcs11; I don't know Python very well so maybe they 
can lay eyes on this.

Thanks

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to