Yubico / libfido2

Provides library functionality for FIDO2, including communication with a device over USB or NFC.
Other
561 stars 149 forks source link

Building server side components without client dependencies #760

Closed yesvivek closed 7 months ago

yesvivek commented 7 months ago

Am exploring libfido2 to be used to do Relying Party side credential-verify and assert-verify. It does seem to do them great but is there a way I can build libfido2 without the dependencies needed for interacting with authenticator devices? Looks pcsclite is required despite setting USE_PCSC=OFF in cmake options. Attaching the cmake and make output on Ubuntu 22, make.out.txt. Is it possible to build server functionality without pcsclite? Is zlib required to have verify-cred/assert functionality?

I understand libfido2 is primarily focused on authenticator interactions, but there is no other library in C/CPP except libfido that does RP side of things.

LDVG commented 7 months ago

Hi,

Am exploring libfido2 to be used to do Relying Party side credential-verify and assert-verify.

Please also see previous discussion in https://github.com/Yubico/libfido2/issues/297.

Is it possible to build server functionality without pcsclite?

Since PCSC is currently disabled by default for our releases, it certainly should be possible. By the looks of your log, have you run cmake previously without -DUSE_PCSC=OFF? Have you tried removing your build directory?

Is zlib required to have verify-cred/assert functionality?

zlib should only be required on the client side to support authenticatorLargeBlobs. That said, we do not currently have a toggle to disable it.

yesvivek commented 7 months ago

Thanks for the quick response. You are correct, -DUSE_PCSC=OFF works after cleaning build directory, and I dont see pcsclite linkage after that. I will see if I can build it without zlib.

LDVG commented 7 months ago

Thank you for confirming. I'll close this issue since #297 covers the same topic.