Sunday, November 03, 2019

Re: [NEW] security/py-fido2

On Sun, Nov 03, 2019 at 08:50:05PM -0600, Lucas Raab wrote:
> On Sun, Nov 03, 2019 at 01:09:03PM -0800, Greg Steuck wrote:
> > On Sun, Nov 3, 2019 at 6:10 AM Lucas Raab <tuftedocelot@fastmail.fm> wrote:
> > > > Lucas, have you tried using ykman?
> > >
> > > I have, using Python 3. The other dependencies/ports (py-fido2 and
> > > pyscard) that I submitted are now Python 3 only as well due to pcsclite
> > > now being a Python 3-only package.
> >
> > Unfortunately I'm still unsuccessful despite having built everything
> > from this ports tree (required
> > some hacks, please advise where I'm off):
> > https://github.com/openbsd/ports/compare/master...blackgnezdo:yubikey?expand=1
> >
> > Given this tree, I ran:
> > % cd ./security/yubico/yubikey-manager
> > % FLAVOR=python3 MAKE_JOBS=4 make install SUDO=doas
> >
> > I'm still getting this error message:
> > % ykman list --serials
> > Traceback (most recent call last):
> > File "/usr/local/bin/ykman", line 11, in <module>
> > load_entry_point('yubikey-manager==3.1.0', 'console_scripts', 'ykman')()
> > File "/usr/local/lib/python3.7/site-packages/ykman/cli/__main__.py",
> > line 260, in main
> > cli(obj={})
> > File "/usr/local/lib/python3.7/site-packages/click/core.py", line
> > 722, in __call__
> > return self.main(*args, **kwargs)
> > File "/usr/local/lib/python3.7/site-packages/click/core.py", line 697, in main
> > rv = self.invoke(ctx)
> > File "/usr/local/lib/python3.7/site-packages/click/core.py", line
> > 1066, in invoke
> > return _process_result(sub_ctx.command.invoke(sub_ctx))
> > File "/usr/local/lib/python3.7/site-packages/click/core.py", line
> > 895, in invoke
> > return ctx.invoke(self.callback, **ctx.params)
> > File "/usr/local/lib/python3.7/site-packages/click/core.py", line
> > 535, in invoke
> > return callback(*args, **kwargs)
> > File "/usr/local/lib/python3.7/site-packages/click/decorators.py",
> > line 17, in new_func
> > return f(get_current_context(), *args, **kwargs)
> > File "/usr/local/lib/python3.7/site-packages/ykman/cli/__main__.py",
> > line 224, in list_keys
> > for dev in list_devices():
> > File "/usr/local/lib/python3.7/site-packages/ykman/descriptor.py",
> > line 163, in list_devices
> > for d in _list_drivers(transports):
> > File "/usr/local/lib/python3.7/site-packages/ykman/descriptor.py",
> > line 157, in _list_drivers
> > for dev in open_fido():
> > File "/usr/local/lib/python3.7/site-packages/ykman/driver_fido.py",
> > line 97, in open_devices
> > for dev in CtapHidDevice.list_devices(descriptor_filter):
> > File "/usr/local/lib/python3.7/site-packages/fido2/hid.py", line
> > 135, in list_devices
> > for d in hidtransport.hid.Enumerate():
> > File "/usr/local/lib/python3.7/site-packages/fido2/_pyu2f/__init__.py",
> > line 29, in Enumerate
> > return InternalPlatformSwitch('Enumerate')
> > File "/usr/local/lib/python3.7/site-packages/fido2/_pyu2f/__init__.py",
> > line 55, in InternalPlatformSwitch
> > raise Exception('Unsupported platform: ' + sys.platform)
> > Exception: Unsupported platform: openbsd6
> > %
> >
> > I'll see if teaching py-fido2 about openbsd will make it fare better.
> >
> > Thanks
> > Greg
> > --
> > nest.cx is Gmail hosted, use PGP: https://pgp.key-server.io/0x0B1542BD8DF5A1B0
> > Fingerprint: 5E2B 2D0E 1E03 2046 BEC3 4D50 0B15 42BD 8DF5 A1B0
>
> That's curious...I've not done any modifications to any of the sources
> for pyfido2, pyscard, or yubikey-manager. Tomorrow, I'll try again with
> a clean slate and see if I can reproduce your error. Below is the
> output of `ykman --device 7371849 info`.
>
> What model of Yubikey are you using, as a matter of interest?
>
> Device type: YubiKey 4
> Serial number: 7371849
> Firmware version: 4.3.7
> Enabled USB interfaces: OTP+FIDO+CCID
>
> Applications
> OTP Enabled
> FIDO U2F Enabled
> OpenPGP Enabled
> PIV Enabled
> OATH Enabled
> FIDO2 Not available
>

Aha! It does seem to be device specific. I realized that I had a blue
U2F token and when that's plugged in, I get the same error as you.

No comments:

Post a Comment